我有一个绑定在计数器上的textBox,它快速递增(每10毫秒)。
<TextBox Text="{Binding CounterInc.Counter}"/>
CounterInc是一个增加线程中Counter属性的类。
当我影响另一个对象时,CounterInc属性:
(为了确保两个计数器之间存在差异,第一个计数器在1到100之间是圆形的,第二个计数器在1000到1100之间是圆形的)
private void Button_Click(object sender, RoutedEventArgs e)
{
if (flag)
CounterInc = FirstCounterInc;
else
CounterInc = SecondCounterInc;
flag = !flag;
}
TexBox继续显示旧计数器的值
如果我在重新生效CounterInc属性之前停止计数器递增,我没有问题,textBox显示新的计数器值。
如果currentValue绑定正在改变,似乎绑定无法附加到正确的属性propertyChanged事件
请注意,如果计数器增量较慢(500毫秒),则行为同样正确
你有没有见过这个问题,以及这个问题的确切原因
非常感谢您的帮助
答案 0 :(得分:0)
WPF中所有绑定的默认绑定是OneTime。将绑定更改为OneWay
Binding CounterInc.Counter, Mode=OneWay
确保为CounterInc.Counter属性正确调用NotifyPropertyChanged。