gpt4 book ai didi

silverlight - 如果我在 setter 中使用不同的值更改绑定(bind)数据,如何刷新绑定(bind)数据

转载 作者:行者123 更新时间:2023-12-03 10:16:28 28 4
gpt4 key购买 nike

我需要更改 Silverlight 中文本框的格式。数据通过 MVVM 绑定(bind)。

例如,有一个 int 属性,我将 1 添加到 setter 中的值并调用 OnPropertyChanged。我想如果我在文本框中输入 1 并丢失 foucs,文本将变为 2。但实际上文本没有改变,仍然是 1。

<TextBox Name="txtTime" Text="{Binding PersonID, Mode=TwoWay}" />

private int _personID;
public int PersonID
{
get
{
return _personID;
}
set
{
_personID = value + 1;
OnPropertyChanged("PersonID");
}
}

有什么不对的吗?这样做的正确方法是什么?

非常感谢

最佳答案

当 TextBox 设置一些值时,它不会调用 get。对此的解决方案可能就像用 Dispatcher.BeginInvoke(() => OnPropertyChanged("PersonID")) 替换 OnPropertyChanged("PersonID");它会延迟触发该事件.

public int PersonID
{
get
{
return _personID;
}
set
{
_personID = value + 1;
Dispatcher.BeginInvoke(() => OnPropertyChanged("PersonID"));
}
}

希望这能回答你的问题

关于silverlight - 如果我在 setter 中使用不同的值更改绑定(bind)数据,如何刷新绑定(bind)数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13020718/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com