我读了这个
Simple Binding of Data from code behind to XAML
INotifyPropertyChanged和Databinding之间的联系是什么,上面的示例代码并不清楚。
答案 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的绑定。