ItemsRepeater.ItemsSource Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dient zum Abrufen oder Festlegen einer Objektquelle, die zum Generieren des Inhalts des ItemsRepeater verwendet wird.
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
Eigenschaftswert
Das Objekt, das verwendet wird, um den Inhalt des ItemsRepeater zu generieren. Der Standardwert ist NULL.
- Attribute
-
Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackAttribute
Hinweise
Verwenden Sie die ItemsSource-Eigenschaft, um die Sammlung anzugeben, mit der der Inhalt von Elementen generiert werden soll. Sie können die „ItemsSource“-Eigenschaft auf jeden Typ festlegen, der IEnumerable implementiert. Zusätzliche Sammlungsschnittstellen, die durch Ihre Datenquelle implementiert sind, bestimmen, welche Funktionalität für die „ItemsRepeater“-Instanz verfügbar ist, um mit Ihren Daten zu interagieren.
In dieser Liste sind die verfügbaren Schnittstellen aufgeführt und ist beschrieben, wann die jeweilige Schnittstelle in Betracht kommt.
IEnumerable<T> (.NET) / IIterable<T>
Kann für kleine statische Datasets verwendet werden.
Für die Datenquelle muss mindestens die „IEnumerable / IIterable“-Schnittstelle implementiert werden. Ist dies alles, was unterstützt wird, durchläuft das Steuerelement alle Inhalte einmal, um eine Kopie zu erstellen, die es verwenden kann, um über einen Indexwert auf Elemente zuzugreifen.
IReadonlyList<T> (.NET) / IVectorView<T>
Kann für statische, schreibgeschützte Datensätze verwendet werden.
Ermöglicht es dem Steuerelement, über den Index auf Elemente zuzugreifen, und vermeidet redundante interne Kopien.
Ilist<T> (.NET) / IVector<T>
Kann für statische Datasets verwendet werden.
Ermöglicht es dem Steuerelement, über den Index auf Elemente zuzugreifen, und vermeidet redundante interne Kopien.
Warnung: Änderungen an der Liste/dem Vektor ohne Implementierung von INotifyCollectionChanged werden nicht in die Benutzeroberfläche übernommen.
INotifyCollectionChanged (.NET)
Empfohlen, um Änderungsbenachrichtigungen zu unterstützen.
Ermöglicht es dem Steuerelement, Änderungen in der Datenquelle zu beobachten und diese Änderungen in der Benutzeroberfläche widerzuspiegeln.
-
Unterstützt die Änderungsbenachrichtigung.
Hiermit wird es dem Steuerelement, wie bei der INotifyCollectionChanged-Schnittstelle, ermöglicht, auf Änderungen in der Datenquelle zu überwachen und zu reagieren.
Warnung: Der Windows.Foundation.IObservableVector<T> unterstützt nicht die Aktion „Verschieben“. Dies kann dazu führen, dass die Benutzeroberfläche für ein Element ihren visuellen Zustand verliert. Beispiel: Ein Element, das derzeit ausgewählt ist und/oder den Fokus hat, verliert den Fokus und ist nicht mehr ausgewählt, wenn das Verschieben durch ein 'Entfernen' gefolgt von einem 'Hinzufügen' erreicht wird.
Der Platform.Collections.Vector<T> verwendet IObservableVector<T> und hat dieselbe Einschränkung. Muss eine Move-Aktion unterstützt werden, verwenden Sie die INotifyCollectionChanged-Schnittstelle. Die .NET ObservableCollection<T>-Klasse verwendet INotifyCollectionChanged.
-
IKeyIndexMapping
Wird verwendet, wenn jedem Element ein eindeutiger Bezeichner (ID) zugeordnet werden kann. Empfohlen, wenn „Reset“ als Aktion für Sammlungsänderungen verwendet wird.
Ermöglicht es dem Steuerelement, die vorhandene Benutzeroberfläche sehr effizient wiederherzustellen, nachdem eine harte 'Reset'-Aktion im Rahmen eines INotifyCollectionChanged- oder IObservableVector-Ereignisses erhalten wurde. Nachdem das Steuerelement eine „Reset“-Aktion empfangen hat, verwendet es die bereitgestellte eindeutige ID, um die aktuellen Daten mit Elementen zu verknüpfen, die es bereits erstellt hat. Ohne die Zuordnung von Schlüssel zu Index müsste die Steuerung annehmen, dass sie die Benutzeroberfläche für die Daten komplett neu erstellen muss.
Die oben aufgeführten Schnittstellen zeigen, mit Ausnahme von „IKeyIndexMapping“, in „ItemsRepeater“ das gleiche Verhalten wie in „ListView“ und „GridView“.
Die folgenden Schnittstellen einer ItemsSource ermöglichen spezielle Funktionalitäten in den ListView- und GridView-Steuerelementen, wirken sich jedoch derzeit nicht auf ein ItemsRepeater-Steuerelement aus.