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

發生於集合的內容變更時。

適用於

另請參閱