Udostępnij za pośrednictwem


ListViewCachingStrategy Wyliczenie

Definicja

Wylicza strategie buforowania dla elementu ListView.

To wyliczenie obsługuje bitową kombinację jego wartości składowych.

public enum class ListViewCachingStrategy
[System.Flags]
public enum ListViewCachingStrategy
[<System.Flags>]
type ListViewCachingStrategy = 
Public Enum ListViewCachingStrategy
Dziedziczenie
ListViewCachingStrategy
Atrybuty

Pola

Nazwa Wartość Opis
RetainElement 0

Wskazuje, że dla każdego elementu we właściwości Widoku ItemsSource listy jeden unikatowy element zostanie skonstruowany z elementu DataTemplate.

RecycleElement 1

Wskazuje, że niepotrzebne komórki będą miały konteksty powiązań zaktualizowane do potrzebnej komórki.

RecycleElementAndDataTemplate 3

Wskazuje, że oprócz zachowania określonego przez RecycleElementobiekt DataTemplate obiekty wybrane przez DataTemplateSelector obiekt są buforowane przez typ szablonu danych.

Uwagi

Deweloperzy aplikacji mogą określić jedną z tych wartości podczas konstruowania ListView elementu w celu określenia, czy widok listy zminimalizuje zużycie pamięci i szybkość wykonywania przez odtworzenie komórek listy, czy zamiast tego wygeneruje komórkę dla każdego elementu na liście. Obecnie domyślne zachowanie polega na przechowywaniu danych elementów w wygenerowanych komórkach, gdy nie są potrzebne. (Elementy nie są potrzebne, na przykład, gdy są wystarczająco daleko poza ekranem, że ich wyświetlacz nie jest nieuchronny). To zachowanie odpowiada wartości RetainElement. Ze względu na wydajność prawdopodobnie domyślne zachowanie zostanie zmienione na RecycleElement w przyszłej wersji. W międzyczasie ze względu na pamięć i wydajność deweloperzy aplikacji powinni określić RecycleElement podczas tworzenia nowego widoku listy.

Zaletą RecycleElement wydajności jest tak doskonała, że deweloperzy aplikacji mają skrót składniowy XAML do inicjowania widoków listy. x:TypeArguments Zamiast składni, która określa parametr ListView(ListViewCachingStrategy) konstruktora, XAML dla Microsoft.Maui.Controls udostępnia atrybut XAML dla właściwości nieistniejącej, która odpowiada argumentowi strategii buforowania konstruktora. Deweloperzy aplikacji mogą ustawić CachingStrategy atrybut na wartość jedną z (preferowanych RecycleElement ) lub RetainElement wartości, aby wybrać strategię buforowania. Na przykład:

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

Uwaga: gdy deweloperzy określą RecycleElement, OnElementChanged zdarzenia nie są wywoływane, gdy komórki są poddawane recyklingu. Zamiast tego komórka jest zachowywana, a jej wartości właściwości zmieniają się, gdy kontekst powiązania jest aktualizowany do dostępnej komórki, OnElementPropertyChanged są wywoływane zdarzenia. Deweloperzy aplikacji powinni pamiętać, aby nasłuchiwać prawidłowych zdarzeń i powinni pamiętać, że ich programy renderujące będą musiały zostać zaktualizowane, jeśli domyślne zachowanie zmieni się RecycleElement w przyszłej wersji.

Uwaga: platforma UWP ignoruje RetainElementelement , ponieważ zawsze używa buforowania w celu zwiększenia wydajności. W związku z tym, jeśli deweloper zdecydował się nie używać powiązań danych, musi użyć OnBindingContextChanged() ich do zaktualizowania danych komórek na platformie UWP, ponieważ zawsze zachowuje się tak, jakby RecycleElement został określony.

Dotyczy