在列表中添加或删除对象时触发事件

时间:2010-11-23 14:33:36

标签: .net

在列表中添加或删除对象时触发事件的数据类型是什么?

ObservableCollection<T>几乎符合我的需要,但问题是CollectionChanged事件(这就是我需要的)之外的问题,它也会触发PropertyChanged,这是我不喜欢的事情完全需要。继承T所需的对象类型INotifyPropertyChanged这一事实对我来说是一个障碍,因为我没有实现T类。

.Net 3.5中是否有这样的数据类型?

2 个答案:

答案 0 :(得分:2)

ObservableCollection 需要INotifyPropertyChanged

如果 T实施INotifyPropertyChanged,则会转发PropertyChanged个事件。
但是,这不是必需的。

编辑ObservableCollection根本不使用INotifyPropertyChanged,除非通知对集合本身的CountItem[]属性的更改。
它甚至不会尝试转发子PropertyChanged事件。

答案 1 :(得分:0)

为什么不自己上课呢?只需继承System.Collections.ObjectModel.Collection和 覆盖InsertItem,SetItem,RemoveItem等方法以抛出事件。