如果需要集合中的元素何时删除或添加的信息,就可以使用ObservableCollection<T>类。这个类最初是为WPF定义的,这样UI就可以得知集合的变化,通用Windows应用程序使用它的方式相同。这个类的名称空间是System.Collections.ObjectModel。
ObservableCollection<T>类派生自Collection<T>基类,该基类可用于创建自定义集合,并在内部使用List<T>类。重写基类中的虚方法SetItem()和Remove(),以触发CollectionChanged事件。这个类的用户可以使用INotifyCollectionChanged接口注册这个事件。
ObservableCollectionSample使用如下名称空间:
System
System.Collections.ObjectModel
System.Collections.Specialized
下面的示例说明了ObservableCollection<string>()方法的用法,其中给CollectionChanged事件注册了Data_CollectionChanged()方法。把两项添加到末尾,再插入一项,并删除一项:
var data = new ObservableCollection<string>();
data.CollectionChanged += Data_CollectionChanged;
data.Add("One");
data.Add("Two");
data.Insert(1,"Three");