VirtualizationMode 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.
Gibt die Methode an, die der VirtualizingStackPanel zum Verwalten der Virtualisierung seiner untergeordneten Elemente verwendet.
public enum class VirtualizationMode
public enum VirtualizationMode
type VirtualizationMode =
Public Enum VirtualizationMode
- Vererbung
Felder
Recycling | 1 | Wiederverwenden der Elementcontainer. |
Standard | 0 | Erstellen und Verwerfen der Elementcontainer. |
Beispiele
Im folgenden Beispiel wird ein ListBox erstellt und die VirtualizationMode angefügte Eigenschaft auf Recycling festgelegt.
<StackPanel>
<StackPanel.Resources>
<src:LotsOfItems x:Key="data"/>
</StackPanel.Resources>
<ListBox Height="150" ItemsSource="{StaticResource data}"
VirtualizingStackPanel.VirtualizationMode="Recycling" />
</StackPanel>
Das folgende Beispiel zeigt die im vorherigen Beispiel verwendeten Daten.
public class LotsOfItems : ObservableCollection<String>
{
public LotsOfItems()
{
for (int i = 0; i < 1000; ++i)
{
Add("item " + i.ToString());
}
}
}
Public Class LotsOfItems
Inherits ObservableCollection(Of String)
Public Sub New()
For i As Integer = 0 To 999
Add("item " & i.ToString())
Next
End Sub
End Class
Hinweise
Standardmäßig erstellt ein VirtualizingStackPanel einen Elementcontainer für jedes sichtbare Element und verwirft ihn, wenn es nicht mehr benötigt wird (z. B. wenn das Element aus der Ansicht gescrollt wird). Wenn eine ItemsControl viele Elemente enthält, kann sich das Erstellen und Verwerfen von Elementcontainern negativ auf die Leistung auswirken. Wenn VirtualizationMode auf Recycling festgelegt ist, VirtualizingStackPanel werden Elementcontainer wiederverwendet, anstatt jedes Mal einen neuen zu erstellen.
Wenn VirtualizingStackPanel Elementcontainer nicht wiederverwendet werden können, wird der Standardmodus der Virtualisierung verwendet, bei dem Elementcontainer für jedes Element erstellt und verworfen werden. In der folgenden Liste werden Fälle beschrieben, in denen die VirtualizingStackPanel Container für Elemente nicht wiederverwendet werden können:
Enthält ItemsControl Elementcontainer unterschiedlicher Typen. Ein kann z. B. Elemente enthalten, Menu die sowohl -Objekte als auch MenuItemSeparator -Objekte als Elementcontainer verwenden.
Sie erstellen explizit die Elementcontainer für .ItemsControl