使用ObservableCollection <T>时,是否仍需要在类型T上实现INotifyPropertyChanged?

raj*_*net 8 .net observablecollection inotifypropertychanged

ObservableCollection<T>笔记的MSDN参考页面:

"集合中的对象必须满足绑定源概述中描述的要求.特别是,如果您使用OneWayTwoWay(例如,您希望在源属性动态更改时更新UI),则必须实现合适的属性更改了通知机制,例如INotifyPropertyChanged接口."

既然ObservableCollection<T>已经实现了INotifyPropertyChanged,为什么我需要再次实施INotifyPropertyChangedT也?

das*_*ght 9

将您的可观察集合视为表的数据源.集合中的每个对象占用一行,并在多个列中显示在表中.

视图(即您的表)需要知道何时修改每个单元以响应对象的更改属性,还要响应向集合添加对象和从集合中删除对象.

您的可观察集合负责处理表行:它会在插入,移除,移动对象时通知其观察者.但是,它缺乏对单个对象发生了什么的了解,因此在处理表列时没有任何帮助.

这是您的对象进入的地方:通过实现INotifyPropertyChanged它们让您的表管理列中的数据.