小编Poc*_*ews的帖子

数据绑定值不从其他线程更新

我有一个WPF应用程序,我在我的ViewModel中有以下StepCount属性,它实现了INotifyPropertyChanged,然后我将它绑定到我的View中的TextBox.

public int StepCount
{
   get { return _stepCount; } 
   set
   {
      _stepCount = value;
      OnPropertyChanged("StepCount");
   }
}
Run Code Online (Sandbox Code Playgroud)

在XAML中,这是DataBinding的样子:

<TextBox Text="{Binding Path=StepCount}" />
Run Code Online (Sandbox Code Playgroud)

这很好用,如果我更改StepCount值,Textbox值会相应更新.

但是,我的问题是我有另一个增加StepCount的线程,在这种情况下,TextBox值没有更新.线程结束后,Textbox值将更新为正确的值.

每当我的其他线程增加StepCount时,我需要更新Textbox值.就像现在一样,Textbox值仅在线程完成后显示更新.

另一个线程正在递增StepCount,但是在线程结束之前,UI中不会显示更改.

有任何想法吗?

UPDATE

我感谢所有的回复.这个问题令人费解,因为以前工作的代码似乎已经停止工作,就像这些特殊绑定的情况一样.

当我安装VS 2011 Beta时,它会安装.NET 4.5 Beta Framework,当我因为怀疑它可能导致问题而卸载VS 2011 Beta时,它没有卸载.NET 4.5 Beta Framework.

我刚刚卸载了.NET 4.5框架并进行了.NET 4.0框架的修复安装.完成这些步骤后,我的数据绑定工作正常,现在只要另一个线程增加StepCount,Textbox就会正确更新.

因此,看起来,.NET 4.5 Beta Framework可能会导致数据绑定问题.

我将通过向Microsoft提交问题来跟进此问题.

感谢大家的回应.

data-binding wpf .net-4.5

5
推荐指数
1
解决办法
4662
查看次数

标签 统计

.net-4.5 ×1

data-binding ×1

wpf ×1