2010-11-23 67 views
1

將對象添加到列表或從列表中刪除時將觸發事件的數據類型是什麼?從列表中添加或刪除對象時觸發事件

ObservableCollection<T>幾乎適合我的需要,但問題是除了CollectionChanged事件(這是我需要的),它也觸發了PropertyChanged,這是我根本不需要的。對象類型T需要繼承INotifyPropertyChanged對我來說是個障礙,因爲我沒有實現T類。

.net 3.5中是否有這樣的數據類型?

回答

2

ObservableCollection確實不是要求INotifyPropertyChanged

如果 T工具 INotifyPropertyChanged,它將轉發 PropertyChanged事件。
但是,這不是必需的。

編輯ObservableCollection不使用INotifyPropertyChanged可言,除非更改通知對集合本身的CountItem[]性能。
它甚至不會嘗試轉發子PropertyChanged事件。

+0

是的,這是正確的,但`T`需要`INotifyPropertyChanged`,並且*是問題所在。 – Graviton 2010-11-23 14:39:06

0

爲什麼不推出自己的班級?只需從System.Collections.ObjectModel.Collection繼承,並覆蓋InsertItem,SetItem,RemoveItem等方法來引發事件。

相關問題