ItemsRepeater.ItemsSource Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit une source d’objet utilisée pour générer le contenu de 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
Valeur de propriété
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 c'est tout ce qui est pris en charge, alors le contrôle parcourra chaque élément une fois pour créer une copie qu'il pourra 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 jeux de données statiques.
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.
INotifyCollectionChanged (.NET)
Il est recommandé de prendre en charge la notification de changement.
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.
-
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 « Move » de déplacement. Cela peut faire perdre l’état visuel de l’interface utilisateur d'un élément. Par exemple, un élément actuellement sélectionné et/ou en focus qui est déplacé par une action de suppression suivie d'une action d'ajout ne sera plus en focus et ne sera plus sélectionné.
Platform.Collections.Vector<T> utilise IObservableVector<T> et présente les mêmes limites. Si la prise en charge d’une action « Move » est nécessaire, utilisez l’interface INotifyCollectionChanged. La classe .NET ObservableCollection<T> 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é et l’index, le contrôle devrait supposer qu'il doit recommencer à créer l’interface utilisateur entièrement 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 :