【发布时间】:2010-12-28 12:47:36
【问题描述】:
ObservableCollection 实现了INotifyCollectionChanged 和INotifyPropertyChanged。
我了解补充, 删除(+清除)和替换 的物品需要通知消费者 通过收藏的事件
CollectionChanged,然后更新 在现有项目中可以 使用 items' 事件进行监控PropertyChanged如果他们实施 自己INotifyPropertyChanged。我从别人那里读到你不能 注册收藏活动
PropertyChanged因为它是 只读。
那么它的目的是什么,我们可以利用它做什么?
这里和那里的 cmets 似乎通过暗示 ObservableCollection 的神奇之处在于实现这两个接口,从而使讨论变得混乱,允许在集合和项目内容更改时收到通知,虽然这是不正确的(这被忽略了通过许多示例,其中集合绑定到列表框,列表框会在项目内容更改后神奇地更新,这表明集合会通知列表框。
其实集合的唯一优势似乎就是实现了INotifyCollectionChanged。使用ObservableCollection 处理项目属性更改似乎并不比使用另一个集合更容易:只有当项目实现INotifyPropertyChanged 时才有可能,他们可能不会这样做,并且如果用户设法独立于收藏。
这是正确的吗?
【问题讨论】:
标签: wpf observablecollection inotifypropertychanged