我有一个wpf应用程序,即时通讯使用winform主机。 在某些情况下,' SelectedItem'属性是复杂类型,具有类型为' List'的属性。 如果集合发生变化,我怎么能从代码中知道?或者只知道打开的自定义编辑器?
答案 0 :(得分:2)
您可以使用ObservableCollection<T>
代替List
来指示更改列表内容的功能。
ObservableCollection实现接口INotifyCollectionChanged
和
INotifyPropertyChanged
归档此行为。
有关MSDN上ObservableCollection的更多信息:
https://msdn.microsoft.com/de-de/library/ms668604(v=vs.110).aspx
答案 1 :(得分:1)
如果我理解得很清楚你有元素的集合,并且每个元素都有其他的集合。
通过这种方式,您还可以考虑使用BindingList作为基本集合 - 它实现IRaiseItemChangedEvents
- Indicates whether a class converts property change events to System.ComponentModel.IBindingList.ListChanged