【问题标题】:Do any of the .net data classes implement INotifyPropertyChanged?是否有任何 .net 数据类实现 INotifyPropertyChanged?
【发布时间】:2009-08-19 07:03:37
【问题描述】:
小问题:
是否有任何 MS 的内置数据对象支持 INotifyPropertyChanged?
详细说明:
因此,我将使用数据绑定控件显示大量数据。
数据会随着用户交互而频繁变化。
该应用程序是一个基本的窗体应用程序。
我希望我可以使用实现 INotifyPropertyChanged 的数据对象,而不是将所有数据的事件连接到显示控件,这样控件就不需要知道它们的数据更改的方式、时间或原因他们需要更新自己。
健全性检查:
我什至在这里吠叫正确的树吗?
【问题讨论】:
标签:
winforms
ado.net
inotifypropertychanged
【解决方案1】:
INotifyPropertyChange 的目的是报告属性的变化。在这个程度上,它应该由特定的模型类来实现,而不是由通用数据对象来实现。以PropertyDescriptor.AddValueChanged 的形式为此类对象提供了更通用的解决方案 - 因为PropertyDescriptors 可以表示“虚拟”属性,例如DataRow 字段或WPF 附加属性。
【解决方案2】:
我已经在一个相当大的 Windows 窗体应用程序上工作了几个月,我们对所有内容都使用 DataBinding 和 INotifyPropertyChanged。它工作得很好,我没有真正的问题要报告。我们使用的是我们自己的类,因为这个应用程序中确实没有数据层,所以我不确定 MS 数据类。
【解决方案3】:
BindableCollection 实现 INotifyPropertyChanged