MSDN Library
信息
您所需的主题如下所示。但此主题未包含在此库中。

ObservableCollection<T> 类

2013/12/13

表示一个动态数据集合,在添加项、移除项或刷新整个列表时,此集合将提供通知。

Namespace:  System.Collections.ObjectModel
程序集:  System(位于 System.dll 中)

public class ObservableCollection<T> : Collection<T>, 
	INotifyCollectionChanged, INotifyPropertyChanged

类型参数

T

集合中的项的类型。

ObservableCollection<T> 类型公开以下成员。

  名称说明
公共方法ObservableCollection<T>()初始化 ObservableCollection<T> 类的一个新的空实例。
公共方法ObservableCollection<T>(IEnumerable<T>)初始化 ObservableCollection<T> 类的新实例,并用从指定集合中复制的项来填充该实例。
公共方法ObservableCollection<T>(List<T>)初始化 ObservableCollection<T> 类的新实例,并用从指定列表中复制的项来填充该实例。
返回顶部

  名称说明
公共属性Count获取 Collection<T> 中实际包含的元素数。 (从 Collection<T> 继承。)
公共属性Item获取或设置位于指定索引处的元素。 (从 Collection<T> 继承。)
受保护的属性Items获取 Collection<T> 周围的 IList<T> 包装。 (从 Collection<T> 继承。)
返回顶部

  名称说明
公共方法Add将对象添加到 Collection<T> 的末尾。 (从 Collection<T> 继承。)
受保护的方法BlockReentrancy不允许可重入的更改此集合的尝试。
受保护的方法CheckReentrancy检查可重入的更改此集合的尝试。
公共方法ClearCollection<T> 中移除所有元素。 (从 Collection<T> 继承。)
受保护的方法ClearItems从集合中移除所有项。 (重写 Collection<T>.ClearItems()。)
公共方法Contains确定某元素是否在 Collection<T> 中。 (从 Collection<T> 继承。)
公共方法CopyTo从目标数组的指定索引处开始将整个 Collection<T> 复制到兼容的一维 Array (从 Collection<T> 继承。)
公共方法Equals(Object)确定指定的 Object 是否等于当前的 Object (从 Object 继承。)
受保护的方法Finalize允许 Object 在垃圾回收器回收该对象之前尝试释放资源并执行其他清理操作。 (从 Object 继承。)
公共方法GetEnumerator返回循环访问 Collection<T> 的枚举数。 (从 Collection<T> 继承。)
公共方法GetHashCode用作特定类型的哈希函数。 (从 Object 继承。)
公共方法GetType获取当前实例的 Type (从 Object 继承。)
公共方法IndexOf搜索指定的对象,并返回整个 Collection<T> 中第一个匹配项的从零开始的索引。 (从 Collection<T> 继承。)
公共方法Insert将元素插入 Collection<T> 的指定索引处。 (从 Collection<T> 继承。)
受保护的方法InsertItem将项插入集合中指定索引处。 (重写 Collection<T>.InsertItem(Int32, T)。)
受保护的方法MemberwiseClone创建当前 Object 的浅表副本。 (从 Object 继承。)
公共方法Move将指定索引处的项移至集合中的新位置。
受保护的方法MoveItem将指定索引处的项移至集合中的新位置。
受保护的方法OnCollectionChanged引发带有所提供的事件数据的 CollectionChanged 事件。
受保护的方法OnPropertyChanged引发带有所提供的参数的 PropertyChanged 事件。
公共方法RemoveCollection<T> 中移除特定对象的第一个匹配项。 (从 Collection<T> 继承。)
公共方法RemoveAt移除 Collection<T> 的指定索引处的元素。 (从 Collection<T> 继承。)
受保护的方法RemoveItem从集合中移除指定索引处的项。 (重写 Collection<T>.RemoveItem(Int32)。)
受保护的方法SetItem替换指定索引处的项。 (重写 Collection<T>.SetItem(Int32, T)。)
公共方法ToString返回一个字符串,它表示当前的对象。 (从 Object 继承。)
返回顶部

  名称说明
公共事件CollectionChanged当集合中的某个项更改或者整个集合更改时发生。
受保护的事件PropertyChanged当集合中单个项的属性更改时发生。
返回顶部

  名称说明
显式接口实现私有方法ICollection.CopyTo从特定的 Array 索引开始,将 ICollection 的元素复制到一个 Array 中。 (从 Collection<T> 继承。)
显式接口实现私有属性ICollection<T>.IsReadOnly获取一个值,该值指示 ICollection<T> 是否为只读。 (从 Collection<T> 继承。)
显式接口实现私有属性ICollection.IsSynchronized获取一个值,该值指示是否同步对 ICollection 的访问(线程安全)。 (从 Collection<T> 继承。)
显式接口实现私有属性ICollection.SyncRoot获取可用于同步对 ICollection 的访问的对象。 (从 Collection<T> 继承。)
显式接口实现私有方法IEnumerable.GetEnumerator返回一个循环访问集合的枚举数。 (从 Collection<T> 继承。)
显式接口实现私有方法IList.Add将某项添加到 IList 中。 (从 Collection<T> 继承。)
显式接口实现私有方法IList.Contains确定 IList 是否包含特定值。 (从 Collection<T> 继承。)
显式接口实现私有方法IList.IndexOf确定 IList 中特定项的索引。 (从 Collection<T> 继承。)
显式接口实现私有方法IList.Insert将某项插入 IList 中指定的索引处。 (从 Collection<T> 继承。)
显式接口实现私有属性IList.IsFixedSize获取一个值,该值指示 IList 是否具有固定大小。 (从 Collection<T> 继承。)
显式接口实现私有属性IList.IsReadOnly获取一个值,该值指示 IList 是否为只读。 (从 Collection<T> 继承。)
显式接口实现私有属性IList.Item获取或设置位于指定索引处的元素。 (从 Collection<T> 继承。)
显式接口实现私有方法IList.RemoveIList 中移除特定对象的第一个匹配项。 (从 Collection<T> 继承。)
显式接口实现私有事件INotifyPropertyChanged.PropertyChanged在更改属性值时发生。
返回顶部

可以枚举实现 IEnumerable 接口的任何集合,这对于 XAML 中的一次性数据绑定已足够。但是,若要设置动态绑定,以使集合中的插入或移除操作可以自动更新 UI,则该集合必须实现 INotifyCollectionChanged 接口。此接口公开 CollectionChanged 事件,只要基础集合发生更改,都应该引发该事件。

XAML 提供 ObservableCollection<T> 类,此类是用以实现 INotifyCollectionChanged 接口以及 INotifyPropertyChanged 接口的基类数据集合。它还具有预期的集合支持,这是通过从 Collection<T> 类派生来定义的。

Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

此类型的所有公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

显示:
© 2016 Microsoft