在列表中添加或删除对象时触发事件的数据类型是什么?
ObservableCollection<T>
几乎符合我的需要,但问题是CollectionChanged
事件(这就是我需要的)之外的问题,它也会触发PropertyChanged
,这是我不喜欢的事情完全需要。继承T
所需的对象类型INotifyPropertyChanged
这一事实对我来说是一个障碍,因为我没有实现T
类。
.Net 3.5中是否有这样的数据类型?
答案 0 :(得分:2)
ObservableCollection
不需要INotifyPropertyChanged
。
如果 T
实施INotifyPropertyChanged
,则会转发PropertyChanged
个事件。
但是,这不是必需的。
编辑:ObservableCollection
根本不使用INotifyPropertyChanged
,除非通知对集合本身的Count
和Item[]
属性的更改。
它甚至不会尝试转发子PropertyChanged事件。
答案 1 :(得分:0)
为什么不自己上课呢?只需继承System.Collections.ObjectModel.Collection和 覆盖InsertItem,SetItem,RemoveItem等方法以抛出事件。