INotifyPropertyChanged和Databinding之间的链接

时间:2011-04-25 14:11:48

标签: wpf silverlight

我读了这个

Simple Binding of Data from code behind to XAML

INotifyPropertyChanged和Databinding之间的联系是什么,上面的示例代码并不清楚。

3 个答案:

答案 0 :(得分:3)

您需要查看MSDN文档中的Data Binding,以便更清楚地了解数据绑定在Silverlight和WPF中的工作方式。在XAML中以声明方式定义数据绑定时,会创建Binding类的实例,该实例将连接绑定目标和数据源的属性。正是这个Binding类正在执行绑定目标和数据源之间的变化监视和传播。

虽然在技术上可以绑定到未实现INotifyPropertyChanged接口的CLR对象,但绝对建议“对于源对象的更改传播到目标,源必须实现INotifyPropertyChanged接口.INotifyPropertyChanged具有PropertyChanged事件,告诉绑定引擎源已更改,以便绑定引擎可以更新目标值。“有关详细信息,请参阅How Data Binding References are Resolved

答案 1 :(得分:1)

如果您有一段代码需要更新UI并且UI被绑定到Poperty,就像在该示例中一样,INotifyPropertyChanged是我们如何更新UI而无需做任何额外的事情。

答案 2 :(得分:1)

当您将xaml(XP)中的属性绑定到代码(CP)中的属性时,绑定包含指向对象的链接,该对象包含CP和CP的名称。如果对象继承了INotifyPropertyChanged,绑定系统会对PropertyChanged事件进行预订,并且每次上升时绑定系统都会从propertyChangedEventArgs对象接收属性名称字符串,并更新绑定到具有该名称的CP的所有XP的绑定。