ListViewCachingStrategy Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Enumera le strategie di memorizzazione nella cache per un elemento ListView.
Questa enumerazione supporta una combinazione bit per bit dei rispettivi valori dei membri.
public enum class ListViewCachingStrategy
[System.Flags]
public enum ListViewCachingStrategy
[<System.Flags>]
type ListViewCachingStrategy =
Public Enum ListViewCachingStrategy
- Ereditarietà
-
ListViewCachingStrategy
- Attributi
Campi
Nome | Valore | Descrizione |
---|---|---|
RetainElement | 0 | Indica che per ogni elemento della proprietà ItemsSource nella visualizzazione elenco verrà creato un singolo elemento univoco da DataTemplate. |
RecycleElement | 1 | Indica che i contesti di associazione delle celle non necessarie saranno aggiornati con quelli di una cella necessaria. |
RecycleElementAndDataTemplate | 3 | Indica che, oltre al comportamento specificato da RecycleElement, gli oggetti DataTemplate selezionati da un DataTemplateSelector vengono memorizzati nella cache dal tipo di modello di dati. |
Commenti
Gli sviluppatori di applicazioni possono specificare uno di questi valori quando si costruisce un oggetto ListView per determinare se la visualizzazione elenco ridurrà al minimo il footprint di memoria e l'esecuzione della velocità riciclando le celle dell'elenco oppure genererà invece una cella per ogni elemento nell'elenco. Attualmente, il comportamento predefinito consiste nel conservare i dati degli elementi nelle celle generate quando non sono necessarie. Gli elementi non sono necessari, ad esempio, quando sono abbastanza lontani dalla schermata che il loro display non è imminente. Questo comportamento corrisponde a un valore di RetainElement. Per motivi di prestazioni, è probabile che il comportamento predefinito venga modificato RecycleElement in in una versione futura. Nel frattempo, per motivi di memoria e prestazioni, gli sviluppatori di app devono specificare RecycleElement quando si crea una nuova visualizzazione elenco.
Il vantaggio delle prestazioni di è così grande che gli sviluppatori di RecycleElement applicazioni sono stati forniti con un collegamento alla sintassi XAML per l'inizializzazione delle visualizzazioni elenco. x:TypeArguments
Anziché la sintassi che specifica un parametro per il ListView(ListViewCachingStrategy) costruttore, XAML per Microsoft.Maui.Controls fornisce un attributo XAML per una proprietà inesistente che corrisponde all'argomento strategia di memorizzazione nella cache del costruttore. Gli sviluppatori di applicazioni possono impostare l'attributo CachingStrategy
su uno dei RecycleElement
valori (preferiti) o RetainElement
per scegliere una strategia di memorizzazione nella cache. Ad esempio:
<ListView CachingStrategy="RecycleElement" >
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<!-- ... -->
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Nota: quando gli sviluppatori specificano RecycleElement, OnElementChanged
gli eventi non vengono generati quando le celle vengono riciclate. Al contrario, la cella viene mantenuta e i relativi valori di proprietà cambiano quando il contesto di associazione viene aggiornato a quello di una cella disponibile, OnElementPropertyChanged
vengono generati eventi. Gli sviluppatori di applicazioni devono ricordare di restare in ascolto degli eventi corretti e devono tenere presente che i renderer dovranno essere aggiornati se il comportamento predefinito cambia in RecycleElement una versione futura.
Nota: la piattaforma UWP ignora RetainElement, perché usa sempre la memorizzazione nella cache per migliorare le prestazioni. Pertanto, se lo sviluppatore ha scelto di non usare i data binding, deve usare OnBindingContextChanged() per aggiornare i dati delle celle in UWP, perché si comporta sempre come se RecycleElement fosse stato specificato.