ListViewCachingStrategy Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.