Freigeben über


VirtualizationMode Enumeration

Definition

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
VirtualizationMode

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

Gilt für:

Weitere Informationen