ListViewCachingStrategy Enumeração
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Enumera as estratégias de cache para uma ListView.
Essa enumeração dá suporte a uma combinação bit a bit dos valores de membro.
public enum class ListViewCachingStrategy
[System.Flags]
public enum ListViewCachingStrategy
[<System.Flags>]
type ListViewCachingStrategy =
Public Enum ListViewCachingStrategy
- Herança
-
ListViewCachingStrategy
- Atributos
Campos
Nome | Valor | Description |
---|---|---|
RetainElement | 0 | Indica que, para cada item na propriedade ItemsSource da Exibição de Lista, um único elemento exclusivo será construído do DataTemplate. |
RecycleElement | 1 | Indica que células desnecessárias terão seus contextos de associação atualizados para o de uma célula necessária. |
RecycleElementAndDataTemplate | 3 | Indica que, além do comportamento especificado por RecycleElement, DataTemplate objetos selecionados por um DataTemplateSelector são armazenados em cache pelo tipo de modelo de dados. |
Comentários
Os desenvolvedores de aplicativos podem especificar um desses valores ao construir um ListView para determinar se o Modo de Exibição de Lista minimizará seu volume de memória e acelerará a execução reciclando células de lista ou, em vez disso, gerará uma célula para cada item na lista. Atualmente, o comportamento padrão é reter os dados do item em suas células geradas quando eles não são necessários. (Os itens não são necessários, por exemplo, quando estão longe o suficiente da tela para que sua exibição não seja iminente.) Esse comportamento corresponde a um valor de RetainElement. Por motivos de desempenho, é provável que o comportamento padrão seja alterado para RecycleElement em uma versão futura. Enquanto isso, por motivos de memória e desempenho, os desenvolvedores de aplicativos devem especificar RecycleElement ao construir um novo Modo de Exibição de Lista.
A vantagem de desempenho é tão grande que os desenvolvedores de aplicativos receberam um atalho de sintaxe XAML para inicializar Modos de RecycleElement Exibição de Lista. Em vez da x:TypeArguments
sintaxe que especifica um parâmetro para o construtor, o ListView(ListViewCachingStrategy) XAML para Microsoft.Maui.Controls fornece um atributo XAML para uma propriedade inexistente que corresponde ao argumento de estratégia de cache do construtor. Os desenvolvedores de aplicativos podem definir o CachingStrategy
atributo como um dos valores (preferencial) ou RetainElement
para escolher uma estratégia de RecycleElement
cache. Por exemplo:
<ListView CachingStrategy="RecycleElement" >
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<!-- ... -->
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Observação: quando os desenvolvedores especificam RecycleElement, OnElementChanged
os eventos não são gerados quando as células são recicladas. Em vez disso, a célula é retida e seus valores de propriedade são alterados quando o contexto de associação é atualizado para o de uma célula disponível, OnElementPropertyChanged
os eventos são gerados. Os desenvolvedores de aplicativos devem se lembrar de ouvir os eventos corretos e devem observar que seus renderizadores precisarão ser atualizados se o comportamento padrão for alterado em RecycleElement uma versão futura.
Observação: a plataforma UWP ignora RetainElement, porque sempre usa o cache para melhorar o desempenho. Portanto, se o desenvolvedor tiver optado por não usar associações de dados, ele deverá usar OnBindingContextChanged() para atualizar os dados da célula na UWP, pois eles sempre se comportam como se tivessem RecycleElement sido especificados.