Partager via


ItemsRepeater.ItemsSource Propriété

Définition

Obtient ou définit une source d’objet utilisée pour générer le contenu de ItemsRepeater.

Cette documentation s’applique à WinUI 2 pour UWP (pour WinUI dans le SDK d'application Windows, consultez les espaces de noms SDK d'application Windows).

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; }
Public Property ItemsSource As Object

Valeur de propriété

Object

Platform::Object

IInspectable

Objet utilisé pour générer le contenu de ItemsRepeater. La valeur par défaut est null.

Attributs
Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackAttribute

Remarques

Utilisez la propriété ItemsSource pour spécifier la collection à utiliser pour générer le contenu d’éléments. Vous pouvez affecter à ItemsSource tout type qui implémente IEnumerable. Les autres interfaces de collection implémentées par votre source de données déterminent les fonctionnalités disponibles permettant au contrôle ItemsRepeater d’interagir avec vos données.

Cette liste présente les interfaces disponibles et indique dans quels cas envisager leur utilisation.

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

    • Peut être utilisé pour les petits jeux de données statiques.

      Au minimum, la source de données doit implémenter l’interface IEnumerable / IIterable. Si rien d’autre n’est pris en charge, le contrôle effectue une itération unique dans tous les éléments pour créer une copie qu’il peut utiliser pour accéder aux éléments via une valeur d’index.

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

    • Peut être utilisé pour des jeux de données statiques en lecture seule.

      Permet au contrôle d’accéder aux éléments par index et évite la copie interne redondante.

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

    • Peut être utilisé pour les petits jeux de données.

      Permet au contrôle d’accéder aux éléments par index et évite la copie interne redondante.

      Avertissement : les modifications apportées à la liste/vecteur sans implémenter INotifyCollectionChanged ne seront pas intégrées dans l’interface utilisateur.

  • System.Collections.Specialized.INotifyCollectionChanged

    • Recommandé pour prendre en charge la notification de modification.

      Permet au contrôle d’observer et de réagir aux modifications dans la source de données et d’intégrer ces modifications dans l’interface utilisateur.

  • IObservableVector<T>

    • Prend en charge la notification de modification.

      Comme l’interface INotifyCollectionChanged, elle permet au contrôle d’observer et de réagir aux modifications dans la source de données.

      Avertissement : Windows.Foundation.IObservableVector<T> ne prend pas en charge l’action « Déplacer ». Cela peut faire perdre l’état visuel de l’interface utilisateur pour un élément. Par exemple, un élément sélectionné et/ou qui a le focus et qui est déplacé par une action « Remove » de suppression, suivie d’une action « Add » d’ajout perdra le focus et ne sera plus sélectionné.

      Platform.Collections.Vector<T> utilise IObservableVector<T> et présente cette même limitation. Si la prise en charge d’une action « Déplacer » est requise, utilisez l’interface INotifyCollectionChanged documentée ci-dessus. La classe T> .NET ObservableCollection<utilise INotifyCollectionChanged.

  • IKeyIndexMapping

    • Quand un identificateur unique peut être associé à chaque élément. Recommandé quand « Reset » est utilisé comme action de modification de collection.

      Permet au contrôle de récupérer très efficacement l’interface utilisateur existante après la réception d’une action « Reset » de réinitialisation dure à l’occasion d’un événement INotifyCollectionChanged ou IObservableVector. Après avoir reçu une action « Reset » de réinitialisation, le contrôle utilise l’ID unique fourni pour associer les données actuelles à des éléments qu’il avait déjà créés. Sans correspondance entre la clé l’index, le contrôle devrait supposer qu’il doit recréer entièrement l’interface utilisateur pour les données.

Hormis IKeyIndexMapping, les interfaces listées ci-dessus fournissent le même comportement dans ItemsRepeater que dans ListView et GridView.

Les interfaces suivantes définies dans une propriété ItemsSource activent une fonctionnalité spéciale dans les contrôles ListView et GridView, mais n’ont actuellement aucun effet sur un ItemsRepeater :

S’applique à