ItemsRepeater.ItemsSource プロパティ

定義

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

プロパティ値

Object

Platform::Object

IInspectable

ItemsRepeater のコンテンツを生成するために使用されるオブジェクト。 既定値は null です

属性
Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackAttribute

注釈

項目のコンテンツを生成するために使用するコレクションを指定するには、ItemsSource プロパティを使用します。 IEnumerable を実装する任意の種類に ItemsSource を設定することができます。 データ ソースによって実装される追加のコレクション インターフェイスで、データを操作するために ItemsRepeater で使用できる機能が決定されます。

このリストには使用可能なインターフェイスと、それぞれの使用を検討するタイミングが示されています。

  • IEnumerable<T> (.NET) / IIterable<T>

    • 小規模の静的なデータ セットで使用できます。

      データ ソースでは、少なくとも IEnumerable / IIterable インターフェイスを実装する必要があります。 これがすべてサポートされている場合、コントロールはすべてを 1 回反復処理して、インデックス値を介して項目をaccessするために使用できるコピーを作成します。

  • IReadonlyList<T> (.NET) / IVectorView<T>

    • 静的な読み取り専用のデータ セットで使用できます。

      コントロールがインデックスによって項目にアクセスし、冗長な内部コピーを回避することを可能にします。

  • IList<T> (.NET) / IVector<T>

    • 静的なデータ セットで使用できます。

      コントロールがインデックスによって項目にアクセスし、冗長な内部コピーを回避することを可能にします。

      警告: INotifyCollectionChanged を実装せずに list/vector を変更した場合、UI では反映されません。

  • INotifyCollectionChanged (.NET)

    • 変更通知をサポートすることをお勧めします。

      コントロールで、データ ソース内の変更を監視して対応できるようにし、これらの変更を UI に反映できるようにします。

  • IObservableVector<T>

    • 変更通知がサポートされます

      INotifyCollectionChanged インターフェイスと同様、これにより、コントロールでデータ ソース内の変更を監視し、対応できるようになります。

      警告: Windows.Foundation.IObservableVector<T> では '移動' アクションはサポートされません。 そのため、アイテムのユーザーインターフェースがその視覚的状態を失う可能性があります。 たとえば、現在選択中の項目やフォーカスが当たっている項目が、'削除' の後に '追加' される操作によって移動されると、フォーカスが失われ、選択されなくなります。

      Platform.Collections.Vector<T> では IObservableVector<T> が使用され、これと同じ制限があります。 '移動' アクションのサポートが必要な場合は、INotifyCollectionChanged インターフェイスを使用します。 .NET ObservableCollection<T> クラスは、INotifyCollectionChanged を使用します。

  • IKeyIndexMapping の
    • 一意識別子を各項目に関連付けることができる場合。 コレクション変更アクションとして 'リセット' を使用する場合にお勧めします。

      コントロールで、INotifyCollectionChanged または IObservableVector イベントの一部としてハード 'リセット' アクションを受信した後、既存の UI を非常に効率的に回復できるようにします。 リセットを受信した後、コントロールでは、既に作成されている要素に現在のデータを関連付けるために、指定された一意の ID が使用されます。 キーとインデックスのマッピングがなければ、コントロールはデータのUIを最初からやり直さなければならないと判断するでしょう。

IKeyIndexMapping 以外の、上記のインターフェイスでは、ItemsRepeater で、ListView や GridView の場合と同じ動作が提供されます。

ItemsSource の次のインターフェイスでは、ListView および GridView コントロールで特別な機能が有効になりますが、現在、ItemsRepeater で影響はありません。

適用対象