DependencyObjectCollection 类

定义

实现可包含 DependencyObject 项的实用集合类。

/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DependencyObjectCollection : DependencyObject, IIterable<DependencyObject>, IObservableVector<DependencyObject>, IVector<DependencyObject>
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class DependencyObjectCollection : DependencyObject, IEnumerable<DependencyObject>, IList<DependencyObject>, IObservableVector<DependencyObject>
Public Class DependencyObjectCollection
Inherits DependencyObject
Implements IEnumerable(Of DependencyObject), IList(Of DependencyObject), IObservableVector(Of DependencyObject)
继承
Object IInspectable DependencyObject DependencyObjectCollection
属性
实现

Windows 要求

设备系列
Windows 10 (在 10.0.10240.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)

注解

DependencyObjectCollection 类主要用于支持行为的工具和可移植性。 行为是一种技术,用于完全在 XAML 中定义 UI 元素的某些基本交互,而无需事件处理程序和代码隐藏。

如果想要实现支持集合更改通知的业务对象类,则应使用 ObservableCollection 或支持更改事件的接口模式之一。 有关详细信息,请参阅 数据绑定深度

枚举 C# 或 Microsoft Visual Basic 中的集合

DependencyObjectCollection 是可枚举的,因此可以使用特定于语言的语法(如 C# 中的 foreach )枚举集合中的项。 编译器为你执行类型强制转换,你无需显式强制转换为 IEnumerable<DependencyObject> 。 如果需要显式强制转换(例如,如果要调用 GetEnumerator),请使用 DependencyObject 约束强制转换为 IEnumerable<T>

构造函数

DependencyObjectCollection()

初始化 DependencyObjectCollection 类的新实例。

属性

Dispatcher

获取与此对象关联的 CoreDispatcherCoreDispatcher 表示可以访问 UI 线程上的 DependencyObject 的工具,即使代码是由非 UI 线程启动的。

(继承自 DependencyObject)
Size

获取集合的大小 (计数) 。

方法

Append(DependencyObject)

将新项添加到集合。

Clear()

从集合中移除所有项。

ClearValue(DependencyProperty)

清除依赖属性的本地值。

(继承自 DependencyObject)
First()

返回迭代器,以便对集合中的项进行迭代。

GetAnimationBaseValue(DependencyProperty)

返回为依赖属性建立的任何基值,该基值适用于动画未处于活动状态的情况。

(继承自 DependencyObject)
GetAt(UInt32)

返回位于指定索引处的 DependencyObject

GetMany(UInt32, DependencyObject[])

通过迭代器在一次传递中检索多个元素。

GetValue(DependencyProperty)

DependencyObject 返回依赖属性的当前有效值。

(继承自 DependencyObject)
GetView()

获取集合中的不可变视图。

IndexOf(DependencyObject, UInt32)

检索指定项的索引。

InsertAt(UInt32, DependencyObject)

在指定的索引处插入指定的项。

ReadLocalValue(DependencyProperty)

如果设置了本地值,则返回依赖属性的本地值。

(继承自 DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

注册通知函数,用于侦听此 DependencyObject 实例上对特定 DependencyProperty 的更改。

(继承自 DependencyObject)
RemoveAt(UInt32)

删除指定索引处的项。

RemoveAtEnd()

删除集合中的最后一项。

ReplaceAll(DependencyObject[])

最初清除集合,然后将提供的数组作为新项插入。

SetAt(UInt32, DependencyObject)

将指定索引处的值设置为指定的 DependencyObject 值。

SetValue(DependencyProperty, Object)

设置 DependencyObject 上依赖属性的本地值。

(继承自 DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

取消以前通过调用 RegisterPropertyChangedCallback 注册的更改通知。

(继承自 DependencyObject)

事件

VectorChanged

在集合内容更改时发生。

适用于

另请参阅