【发布时间】:2011-04-04 08:33:16
【问题描述】:
我正在学习 WPF 中的 ObservableCollections,但我并不清楚。我了解,如果我将控件绑定到 ObservableCollection 并且集合发生更改,则控件将反映更改。我的问题是:
ObservableCollection 实现了 INotifyCollectionChanged,它只是一个事件,CollectionChanged。每当集合更改但谁订阅了该事件时,都应该触发该事件?当您创建到集合的绑定时,它会自动完成吗?
我正在使用 Reflector 查看 ObservableCollection,并试图查看 CollectionChanged 事件何时被触发。但是我找不到它在哪里完成。例如,我想看看当我向集合中添加新项目时它何时被触发。 Add(...) 在 ObservableCollection 的基类 Collection 中实现,但 Collection 没有实现 INotifyCollectionChanged,所以我不明白绑定控件是如何收到更改通知的。
我猜这其中很多都是在幕后处理的,但非常感谢任何信息。
【问题讨论】: