Compartir a través de


ListViewCachingStrategy Enumeración

Definición

Enumera las estrategias de almacenamiento en caché de un ListView.

Esta enumeración admite una combinación bit a bit de sus valores de miembro.

public enum class ListViewCachingStrategy
[System.Flags]
public enum ListViewCachingStrategy
[<System.Flags>]
type ListViewCachingStrategy = 
Public Enum ListViewCachingStrategy
Herencia
ListViewCachingStrategy
Atributos

Campos

Nombre Valor Description
RetainElement 0

Indica que, por cada elemento que haya en la propiedad ItemsSource de la vista de lista, se construirá un único elemento a partir de la DataTemplate.

RecycleElement 1

Indica que los contextos de enlace de las celdas que sean innecesarias se actualizarán según el contexto de una celda que sí es necesaria.

RecycleElementAndDataTemplate 3

Indica que, además del comportamiento especificado por RecycleElement, los objetos DataTemplate que un DataTemplateSelector haya seleccionado se almacenarán en caché mediante el tipo de plantilla de datos.

Comentarios

Los desarrolladores de aplicaciones pueden especificar uno de estos valores al construir un ListView para determinar si la vista de lista minimizará su superficie de memoria y acelerará la ejecución mediante el reciclaje de celdas de lista, o generará una celda para cada elemento de la lista. Actualmente, el comportamiento predeterminado es conservar los datos de elementos en sus celdas generadas cuando no son necesarios. (Los elementos no son necesarios, por ejemplo, cuando están lo suficientemente alejados de la pantalla que su pantalla no es inminente). Este comportamiento corresponde a un valor de RetainElement. Por motivos de rendimiento, es probable que el comportamiento predeterminado se cambie a RecycleElement en una versión futura. Mientras tanto, por motivos de memoria y rendimiento, los desarrolladores de aplicaciones deben especificar RecycleElement al construir una nueva vista de lista.

La ventaja de rendimiento de es tan excelente que los desarrolladores de RecycleElement aplicaciones se han proporcionado con un acceso directo de sintaxis XAML para inicializar vistas de lista. En lugar de la x:TypeArguments sintaxis que especifica un parámetro para el ListView(ListViewCachingStrategy) constructor, XAML para Microsoft.Maui.Controls proporciona un atributo XAML para una propiedad inexistente que corresponde al argumento de estrategia de almacenamiento en caché del constructor. Los desarrolladores de aplicaciones pueden establecer el CachingStrategy atributo en cualquiera de los RecycleElement valores (preferidos) o RetainElement para elegir una estrategia de almacenamiento en caché. Por ejemplo:

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

Nota: cuando los desarrolladores especifican RecycleElement, OnElementChanged los eventos no se generan cuando se reciclan las celdas. En su lugar, la celda se conserva y sus valores de propiedad cambian cuando el contexto de enlace se actualiza a la de una celda disponible, OnElementPropertyChanged se generan eventos. Los desarrolladores de aplicaciones deben recordar escuchar los eventos correctos y deben tener en cuenta que sus representadores deberán actualizarse si el comportamiento predeterminado cambia a RecycleElement en una versión futura.

Nota: La plataforma para UWP omite RetainElement, porque siempre usa el almacenamiento en caché para mejorar el rendimiento. Por lo tanto, si el desarrollador ha optado por no usar enlaces de datos, deben usar OnBindingContextChanged() para actualizar los datos de celda en UWP, ya que siempre se comporta como si RecycleElement se especificara.

Se aplica a