ItemsRepeater.ItemsSource 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定用來產生 ItemsRepeater 內容的物件來源。
public:
property Platform::Object ^ ItemsSource { Platform::Object ^ get(); void set(Platform::Object ^ value); };
/// [get: Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
/// [set: Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
IInspectable ItemsSource();
void ItemsSource(IInspectable value);
/// [Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
/// [get: Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
/// [set: Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
IInspectable ItemsSource();
void ItemsSource(IInspectable value);
public object ItemsSource { [Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)] get; [Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)] set; }
[Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
public object ItemsSource { [Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)] get; [Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)] set; }
var object = itemsRepeater.itemsSource;
itemsRepeater.itemsSource = object;
Public Property ItemsSource As Object
屬性值
對象,用來產生 ItemsRepeater 的內容。 預設值為 null。
- 屬性
-
Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackAttribute
備註
使用 ItemsSource 屬性以指定要用來產生項目內容的集合。 您可以將 ItemsSource 設為實作 IEnumerable 的任何類型。 資料來源實作的其他集合介面決定可供 ItemsRepeater 與您的資料進行互動的功能。
此清單顯示可用的介面,以及何時使用每個介面。
IEnumerable<T> (.NET) / IIterable<T>
可用於小型的靜態資料集。
資料來源至少必須實作 IEnumerable / IIterable 介面。 如果這是所有支援的項目,那麼控制項將逐一查看所有內容,以建立可用於透過索引值存取項目的複本。
IReadonlyList<T> (.NET) / IVectorView<T>
可用於靜態、唯讀的資料集。
可讓控制項依索引來存取項目,並避免多餘的內部複本。
IList<T> (.NET) / IVector<T>
可用於靜態資料集。
可讓控制項依索引來存取項目,並避免多餘的內部複本。
警告:在未實作 INotifyCollectionChanged 的情況下,對於清單/向量所做的變更,並不會反映在 UI 中。
INotifyCollectionChanged (.NET)
建議支援變更通知。
讓控制項能夠觀察並回應資料來源中的變更,並在 UI 中反映這些變更。
-
支援變更通知
就像 INotifyCollectionChanged 介面,如此可讓控制項觀察並回應資料來源中的變更。
警告:Windows.Foundation.IObservableVector<不支援> 'Move' 動作。 這可能導致項目的 UI 失去可見狀態。 例如,目前已選取的項目及/或該項目的焦點,是在「移除」後接著「新增」來進行移動,這類項目會失去焦點,而且無法再選取。
Platform.Collections.Vector<T> 使用 IObservableVector<T> ,而且有相同的限制。 如果需要支援「移動」動作,請使用 INotifyCollectionChanged 介面。 .NET ObservableCollection<T> 類別使用 INotifyCollectionChanged。
-
當唯一識別碼可以與每個項目相關聯時。 使用「重設」作為集合變更動作時,建議使用。
收到強制「重設」動作做為 INotifyCollectionChanged 或 IObservableVector 事件的一部分時,可讓控制項非常有效率地復原現有 UI。 收到重設後,控制項將使用提供的唯一識別碼,將目前資料與其建立的元素建立關聯。 如果沒有索引鍵以編製索引對應,控制項必須假設它需要從頭開始為資料建立 UI。
以上列出的介面 (IKeyIndexMapping 除外) 在 ItemsRepeater 中提供與在 ListView 和 GridView 中相同的行為。
在 ItemsSource 的下列介面在 ListView 和 GridView 控制項中啟用特殊功能,但目前對 ItemsRepeater 沒有影響: