DependencyObjectCollection 類別

定義

實作可包含 DependencyObject 專案的實用集合類別。

/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 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(Microsoft.UI.Xaml.WinUIContract), 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
屬性
實作

備註

類別的目的 DependencyObjectCollection 主要是支援行為的工具和可攜性。 行為是一種技術,可用來在 XAML 中完全定義 UI 元素的特定基本互動,而不需要事件處理常式和程式碼後置。

如果您有興趣實作支援集合變更通知的商務物件類別,您應該使用 ObservableCollection 或其中一個支援已變更事件的介面模式。 如需詳細資訊,請參閱 深入資料系結

列舉 C# 或 Microsoft Visual Basic 中的集合

DependencyObjectCollection是可列舉的,因此您可以使用 C# 中的 foreach 語言特定語法來列舉集合中的專案。 編譯器會為您執行型別轉換,而且您不需要明確地轉換成 IEnumerable<DependencyObject> 。 如果您需要明確轉換,例如,如果您想要呼叫GetEnumerator,請使用DependencyObject條件約束轉換成IEnumerable

建構函式

DependencyObjectCollection()

初始化 DependencyObjectCollection 類別的新實例。

屬性

Dispatcher

一律會在 null Windows 應用程式 SDK應用程式中傳回。 請改用 DispatcherQueue

(繼承來源 DependencyObject)
DispatcherQueue

DispatcherQueue取得與這個 物件相關聯的 。 DispatcherQueue表示即使程式碼是由非 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

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

適用於

另請參閱