VirtualizationMode Enumeration

Definition

Gibt die Methode an, die die VirtualizingStackPanel zum Verwalten der Virtualisierung der untergeordneten Elemente verwendet.

public enum class VirtualizationMode
public enum VirtualizationMode
type VirtualizationMode = 
Public Enum VirtualizationMode
Vererbung
VirtualizationMode

Felder

Name Wert Beschreibung
Standard 0

Erstellen und verwerfen Sie die Elementcontainer.

Recycling 1

Verwenden Sie die Elementcontainer wieder.

Beispiele

Im folgenden Beispiel wird eine ListBox angefügte Eigenschaft auf Recycling erstellt und festgelegt VirtualizationMode .

<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 Elementcontainer für jedes sichtbare Element und verwirft ihn, wenn es nicht mehr benötigt wird (z. B. wenn das Element außerhalb der Ansicht gescrollt wird). Wenn ein Element ItemsControl viele Elemente enthält, kann sich der Prozess des Erstellens und Verwerfens von Elementcontainern negativ auf die Leistung auswirken. Wenn VirtualizationMode die Option "Recycling" festgelegt ist, werden die Elementcontainer wiederverwendet, VirtualizingStackPanel anstatt jedes Mal eine neue zu erstellen.

Wenn VirtualizingStackPanel keine Elementcontainer wiederverwendet werden können, wird der Standardmodus der Virtualisierung verwendet, der zum Erstellen und Verwerfen von Elementcontainern für jedes Element dient. In der folgenden Liste werden Fälle beschrieben, in denen die VirtualizingStackPanel Elementcontainer nicht wiederverwendet werden können:

  • Das ItemsControl enthält Elementcontainer unterschiedlicher Typen. Beispielsweise kann ein Menu Element Elemente enthalten, die sowohl als MenuItemSeparator auch Objekte als Elementcontainer verwenden.

  • Sie erstellen explizit die Elementcontainer für die ItemsControl.

Gilt für:

Weitere Informationen