ListViewCachingStrategy Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Listet Zwischenspeicherungsstrategien für ein ListView-Objekt auf.
Diese Enumeration unterstützt eine bitweise Kombination ihrer Memberwerte.
public enum class ListViewCachingStrategy
[System.Flags]
public enum ListViewCachingStrategy
[<System.Flags>]
type ListViewCachingStrategy =
Public Enum ListViewCachingStrategy
- Vererbung
-
ListViewCachingStrategy
- Attribute
Felder
Name | Wert | Beschreibung |
---|---|---|
RetainElement | 0 | Gibt an, dass für sämtliche Elemente der ItemsSource-Eigenschaft der Listenansicht ein eindeutiges Element mithilfe des DataTemplate-Typs erstellt wird. |
RecycleElement | 1 | Gibt an, dass der Bindungskontext für nicht benötigte Zellen auf den Kontext einer benötigten Zelle aktualisiert wird. |
RecycleElementAndDataTemplate | 3 | Gibt an, dass die Objekte RecycleElement und DataTemplate, die von einem DataTemplateSelector ausgewählt werden, nicht nur eine Verhaltensweise angeben, sondern auch von einem Datenvorlagentyp gespeichert werden. |
Hinweise
Anwendungsentwickler können beim Erstellen eines ListView dieser Werte angeben, um zu bestimmen, ob die Listenansicht ihren Speicherbedarf minimiert und die Ausführung durch Recycling von Listenzellen beschleunigt oder stattdessen eine Zelle für jedes Element in der Liste generiert. Derzeit besteht das Standardverhalten darin, Elementdaten in ihren generierten Zellen aufzubewahren, wenn sie nicht benötigt werden. (Elemente sind z. B. nicht erforderlich, wenn sie weit genug außerhalb des Bildschirms sind, dass ihre Anzeige nicht unmittelbar bevorsteht.) Dieses Verhalten entspricht einem Wert von RetainElement. Aus Leistungsgründen ist es wahrscheinlich, dass das Standardverhalten in einer zukünftigen Version geändert RecycleElement wird. In der Zwischenzeit sollten App-Entwickler aus Speicher- und Leistungsgründen beim Erstellen einer neuen Listenansicht angeben RecycleElement .
Der Leistungsvorteil RecycleElement ist so gut, dass Anwendungsentwickler mit einer XAML-Syntaxverknüpfung für die Initialisierung von Listenansichten versehen wurden. Anstelle von x:TypeArguments
Syntax, die einen Parameter für den ListView(ListViewCachingStrategy) Konstruktor angibt, stellt XAML für Microsoft.Maui.Controls ein XAML-Attribut für eine nicht vorhandene Eigenschaft bereit, die dem Argument für die Zwischenspeicherungsstrategie des Konstruktors entspricht. Anwendungsentwickler können das CachingStrategy
Attribut auf einen der RecycleElement
(bevorzugten) oder RetainElement
Werte festlegen, um eine Zwischenspeicherungsstrategie auszuwählen. Zum Beispiel:
<ListView CachingStrategy="RecycleElement" >
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<!-- ... -->
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Hinweis: Wenn Entwickler angeben RecycleElement, OnElementChanged
werden Ereignisse nicht ausgelöst, wenn Zellen wiederverwendet werden. Stattdessen wird die Zelle beibehalten, und ihre Eigenschaftswerte ändern sich, wenn der Bindungskontext auf die einer verfügbaren Zelle aktualisiert wird, OnElementPropertyChanged
werden Ereignisse ausgelöst. Anwendungsentwickler sollten daran denken, die richtigen Ereignisse zu überwachen, und beachten Sie, dass ihre Renderer aktualisiert werden müssen, wenn sich das Standardverhalten in einer zukünftigen Version ändert RecycleElement .
Hinweis: Die UWP-Plattform ignoriert RetainElement, da immer zwischengespeichert wird, um die Leistung zu verbessern. Wenn sich der Entwickler daher für die Verwendung von Datenbindungen entschieden hat, muss er zum Aktualisieren von Zelldaten auf UWP verwendet OnBindingContextChanged() werden, da es sich immer so verhält, als ob RecycleElement angegeben wurde.