Partager via


ListViewCachingStrategy Énumération

Définition

Énumère les stratégies de mise en cache pour un ListView.

Cette énumération prend en charge une combinaison au niveau du bit de ses valeurs membres.

public enum class ListViewCachingStrategy
[System.Flags]
public enum ListViewCachingStrategy
[<System.Flags>]
type ListViewCachingStrategy = 
Public Enum ListViewCachingStrategy
Héritage
ListViewCachingStrategy
Attributs

Champs

Nom Valeur Description
RetainElement 0

Indique que pour chaque élément de la propriété ItemsSource de la vue de liste, un seul élément unique est construit à partir de DataTemplate.

RecycleElement 1

Indique que le contexte de liaison des cellules superflues doit être mis à jour sur celui d’une cellule nécessaire.

RecycleElementAndDataTemplate 3

Indique que, outre le comportement spécifié par RecycleElement, les objets DataTemplate qui sont sélectionnés par un DataTemplateSelector sont mis en cache par le type de modèle de données.

Remarques

Les développeurs d’applications peuvent spécifier l’une de ces valeurs lors de la construction d’un ListView pour déterminer si l’affichage liste réduit leur empreinte mémoire et l’exécution rapide en recyclant les cellules de liste, ou génère plutôt une cellule pour chaque élément de la liste. Actuellement, le comportement par défaut consiste à conserver les données d’élément dans leurs cellules générées lorsqu’elles ne sont pas nécessaires. (Les éléments ne sont pas nécessaires, par exemple, lorsqu’ils sont assez éloignés de l’écran que leur affichage n’est pas imminent.) Ce comportement correspond à une valeur de RetainElement. Pour des raisons de performances, il est probable que le comportement par défaut soit modifié RecycleElement dans une version ultérieure. En attendant, pour des raisons de mémoire et de performances, les développeurs d’applications doivent spécifier RecycleElement lors de la construction d’un nouvel affichage de liste.

L’avantage des performances est si grand que les développeurs d’applications RecycleElement ont été fournis avec un raccourci de syntaxe XAML pour initialiser les vues de liste. Au lieu de x:TypeArguments la syntaxe qui spécifie un paramètre pour le ListView(ListViewCachingStrategy) constructeur, XAML pour Microsoft.Maui.Controls fournit un attribut XAML pour une propriété inexistante qui correspond à l’argument de stratégie de mise en cache du constructeur. Les développeurs d’applications peuvent définir l’attribut CachingStrategy sur l’un ou l’autre RecycleElement des valeurs (préférés) RetainElement pour choisir une stratégie de mise en cache. Par exemple :

<ListView CachingStrategy="RecycleElement" >
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<!-- ... -->
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>

Remarque : lorsque les développeurs spécifient RecycleElement, OnElementChanged les événements ne sont pas déclenchés lorsque les cellules sont recyclées. Au lieu de cela, la cellule est conservée et ses valeurs de propriété changent lorsque le contexte de liaison est mis à jour vers celui d’une cellule disponible, OnElementPropertyChanged les événements sont déclenchés. Les développeurs d’applications doivent se rappeler d’écouter les événements appropriés et noter que leurs convertisseurs devront être mis à jour si le comportement par défaut change RecycleElement dans une prochaine version.

Remarque : la plateforme UWP ignore RetainElement, car elle utilise toujours la mise en cache pour améliorer les performances. Par conséquent, si le développeur a choisi de ne pas utiliser de liaisons de données, il doit utiliser OnBindingContextChanged() pour mettre à jour les données de cellule sur UWP, car elle se comporte toujours comme si RecycleElement elle était spécifiée.

S’applique à