任何其他 ObservableCollection一样吗?
在 WPF 中,我们可以使用 ObservableCollection
绑定到 ItemsControl
,以便在集合更改时动态更新 UI。今天我看到另一个 BindingList
,它可以做与 ObservableCollection
相同的事情。但是 BindingList
没有实现 INotifyCollectionChanged
;所以我觉得我错了,实现 INotifyCollectionChanged 接口的集合可以做类似的事情。对于这个功能有什么解释吗?
In WPF, we can use ObservableCollection<T>
to binding to a ItemsControl
so that it dynamically update the UI when the collection changed. Today I saw another BindingList<T>
which can do the same thing like the ObservableCollection<T>
does. But the BindingList<T>
doesn't implement the INotifyCollectionChanged
; so I feel I was wrong that an collection which implements the INotifyCollectionChanged
interface can do this thing alike. Is there any explanation about this feature?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
但它实现了 IRaiseItemChangedEvents。
我认为 BindingList 是针对更复杂的 DataBinding 场景设计的,允许从视图中添加和编辑项目。
INotifyCollectionChanged 只是告诉列表何时更改。
WPF 可能有特定的实现来支持 BindingList。
But it implements IRaiseItemChangedEvents.
I think BindingList was designed with more complex DataBinding scenarios, that allow add and edit items from view.
INotifyCollectionChanged is only to tell, when the list changed.
WPF probably has spefic implementation to support BindingList.
BindingList
可以引发 < a href="http://msdn.microsoft.com/en-us/library/ms132742.aspx" rel="nofollow">BindingList.ListChanged 事件
BindingList
实现IRaiseItemChangedEvents
BindingList<T>
can raise theBindingList<T>.ListChanged Event
BindingList<T>
implementsIRaiseItemChangedEvents