將對象添加到列表或從列表中刪除時將觸發事件的數據類型是什麼?從列表中添加或刪除對象時觸發事件
ObservableCollection<T>
幾乎適合我的需要,但問題是除了CollectionChanged
事件(這是我需要的),它也觸發了PropertyChanged
,這是我根本不需要的。對象類型T
需要繼承INotifyPropertyChanged
對我來說是個障礙,因爲我沒有實現T
類。
.net 3.5中是否有這樣的數據類型?
將對象添加到列表或從列表中刪除時將觸發事件的數據類型是什麼?從列表中添加或刪除對象時觸發事件
ObservableCollection<T>
幾乎適合我的需要,但問題是除了CollectionChanged
事件(這是我需要的),它也觸發了PropertyChanged
,這是我根本不需要的。對象類型T
需要繼承INotifyPropertyChanged
對我來說是個障礙,因爲我沒有實現T
類。
.net 3.5中是否有這樣的數據類型?
ObservableCollection
確實不是要求INotifyPropertyChanged
。
如果
T
工具
INotifyPropertyChanged
,它將轉發
PropertyChanged
事件。
但是,這不是必需的。
編輯:ObservableCollection
不使用INotifyPropertyChanged
可言,除非更改通知對集合本身的Count
和Item[]
性能。
它甚至不會嘗試轉發子PropertyChanged事件。
爲什麼不推出自己的班級?只需從System.Collections.ObjectModel.Collection繼承,並覆蓋InsertItem,SetItem,RemoveItem等方法來引發事件。
是的,這是正確的,但`T`需要`INotifyPropertyChanged`,並且*是問題所在。 – Graviton 2010-11-23 14:39:06