背景:我试图通过实现IEnumerable,INotifyPropertyChanged和INotifyCollectionChanged来推广我自己的可观察集合.它工作正常,但是当我数据绑定时,CollectionChanged事件始终为null.但是,由于我发送了Items []属性更改事件,因此更新了数据绑定属性.所以这让我想知道INotifyCollectionChanged在数据绑定方面有什么意义,因为在我的类中它永远不会被触发,但数据绑定仍然有效(它更新了对集合的所有绑定).
然后我决定再做一些挖掘,并反编译ObservableCollection.当我数据绑定到ObservableCollection时,CollectionChanged事件不像我的实现那样是null.
所以我真的想知道为什么ObservableCollection得到'特殊'处理,以及INotifyCollectionChange在数据绑定中扮演什么角色(如果有的话)