ListViewCachingStrategy Énumération
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.
É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.