Compartir vía


VirtualizationMode Enumeración

Definición

Especifica el método que usa VirtualizingStackPanel para administrar la virtualización de sus elementos secundarios.

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

Campos

Recycling 1

Reutilice los contenedores de elementos.

Standard 0

Cree y descarte los contenedores de elementos.

Ejemplos

En el ejemplo siguiente se crea un ListBox objeto y se establece la VirtualizationMode propiedad adjunta en Reciclaje.

<StackPanel>

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

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

</StackPanel>

En el ejemplo siguiente se muestran los datos usados en el ejemplo anterior.

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

Comentarios

De forma predeterminada, crea VirtualizingStackPanel un contenedor de elementos para cada elemento visible y lo descarta cuando ya no es necesario (por ejemplo, cuando el elemento se desplaza fuera de la vista). Cuando contiene ItemsControl muchos elementos, el proceso de creación y descarte de contenedores de elementos puede afectar negativamente al rendimiento. Cuando VirtualizationMode se establece en Reciclaje, reutiliza VirtualizingStackPanel los contenedores de elementos en lugar de crear uno nuevo cada vez.

Cuando VirtualizingStackPanel no se pueden reciclar contenedores de elementos, usa el modo estándar de virtualización, que consiste en crear y descartar contenedores de elementos para cada elemento. En la lista siguiente se describen los casos en los VirtualizingStackPanel que no se pueden reciclar los contenedores de elementos:

  • ItemsControl contiene contenedores de elementos de diferentes tipos. Por ejemplo, un Menu elemento podría tener elementos que usan y SeparatorMenuItem objetos como contenedores de elementos.

  • Puede crear explícitamente los contenedores de elementos para .ItemsControl

Se aplica a

Consulte también