【发布时间】:2011-01-25 01:55:44
【问题描述】:
我将 ObservableCollection 绑定到 dataGrid itemssource。
observable Collection 的 collectionChangedEvent 仅在我们添加、删除、删除时被调用。但是当我们更新记录时不会触发。
如何也触发更新事件?
【问题讨论】:
标签: wpf observablecollection wpfdatagrid
我将 ObservableCollection 绑定到 dataGrid itemssource。
observable Collection 的 collectionChangedEvent 仅在我们添加、删除、删除时被调用。但是当我们更新记录时不会触发。
如何也触发更新事件?
【问题讨论】:
标签: wpf observablecollection wpfdatagrid
如果您想在项目更改时收到通知(即您想订阅此事件),那么您对ObservableCollection<T> 不走运,因为此集合仅触发CollectionChangedEvent。
实际上,如果您实现INotifyPropertyChanged,您将看到视图中的项目发生变化(WPF 会自动执行此操作),但如果您需要在项目更改时执行手动操作,则可以使用BindingList<T>。
正是针对这种情况,我推出了自定义BindableCollection<T>,它实现了ObservableCollection<T> 并添加了OnItemChangedEvent。如有必要,我可以提供一些示例代码...
【讨论】:
集合不知道记录何时被修改。要在发生这种情况时得到通知,记录需要实现INotifyPropertyChanged
【讨论】: