VirtualizationMode Wyliczenie

Definicja

Określa metodę VirtualizingStackPanel używaną do zarządzania wirtualizacją elementów podrzędnych.Specifies the method the VirtualizingStackPanel uses to manage virtualizing its child items.

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

Pola

Recycling 1

Ponownie Użyj kontenerów elementów.Reuse the item containers.

Standard 0

Utwórz i Odrzuć kontenery elementów.Create and discard the item containers.

Przykłady

Poniższy przykład tworzy ListBox i ustawia VirtualizationMode przyłączoną właściwość do odzyskania.The following example creates a ListBox and sets the VirtualizationMode attached property to Recycling.

<StackPanel>

  <StackPanel.Resources>
    <src:LotsOfItems x:Key="data"/>
  </StackPanel.Resources>

  <ListBox Height="150" ItemsSource="{StaticResource data}" 
             VirtualizingStackPanel.VirtualizationMode="Recycling" />

</StackPanel>

Poniższy przykład pokazuje dane używane w poprzednim przykładzie.The following example shows the data used in the previous example.

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

Uwagi

Domyślnie VirtualizingStackPanel tworzy kontener elementów dla każdego widocznego elementu i odrzuca go, gdy nie jest już potrzebne (na przykład gdy element jest przewijany z widoku).By default, a VirtualizingStackPanel creates an item container for each visible item and discards it when it is no longer needed (such as when the item is scrolled out of view). Gdy ItemsControl zawiera wiele elementów, proces tworzenia i odrzucania kontenerów elementów może negatywnie wpłynąć na wydajność.When an ItemsControl contains a many items, the process of creating and discarding item containers can negatively affect performance. Gdy VirtualizationMode jest ustawiona na odtwarzanie, ponownie VirtualizingStackPanel używa kontenerów elementów zamiast tworzenia nowego za każdym razem.When VirtualizationMode is set to Recycling, the VirtualizingStackPanel reuses item containers instead of creating a new one each time.

Gdy VirtualizingStackPanel nie można odtworzyć kontenerów elementów, jest używany standardowy tryb wirtualizacji, który polega na tworzeniu i odrzucaniu kontenerów elementów dla każdego elementu.When VirtualizingStackPanel cannot recycle item containers, it uses the standard mode of virtualization, which is to create and discard item containers for each item. Na poniższej liście opisano przypadki, w których VirtualizingStackPanel nie można odtworzyć kontenerów elementów:The following list describes cases when the VirtualizingStackPanel cannot recycle item containers:

  • ItemsControlZawiera kontenery elementów różnych typów.The ItemsControl contains item containers of different types. Na przykład Menu może mieć elementy, które używają zarówno MenuItem obiektów, Separator jak i obiekty jako kontenery elementów.For example, a Menu might have items that use both MenuItem and Separator objects as the item containers.

  • Można jawnie utworzyć kontenery elementów dla ItemsControl .You explicitly create the item containers for the ItemsControl.

Dotyczy

Zobacz też