可能重复:
Why does the binding update without implementing INotifyPropertyChanged?
我有WPF:
<TextBlock Grid.Row="0" Text="{Binding SomeProperty}" />
<TextBox Grid.Row="1" Text="{Binding SomeProperty, UpdateSourceTrigger=PropertyChanged}" />
绑定到
class MyModel1 { string _someProperty = string.Empty; public string SomeProperty { get { return _someProperty; } set { _someProperty = value; } } }
它也适用于:
class MyModel { public string SomeProperty { get; set; } }
如您所见,没有属性更改通知,但在我输入TextBox时更新了TextBlock。 我正在使用Visual C#express 2010,标准的WPF应用程序项目模板,标准控制,没有片段,没有任何额外的,使用.NET 4客户端配置文件。
谢谢
答案 0 :(得分:0)
1如果可行,WPF的数据绑定引擎将数据绑定到PropertyDescriptor
实例,如果源对象是普通CLR对象并且未实现INotifyPropertyChanged接口,则该实例将包装source属性。
PropertyDescriptor.AddValueChanged()
方法允许订阅通知。
更改未按需要同步,我们使用INotifyPropertyChanged
来自定义此方面。
2你可以阅读这篇文章,它是interessant