Leer en inglés

Compartir a través de


VirtualizationMode Enumeración

Definición

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

C#
public enum VirtualizationMode
Herencia
VirtualizationMode

Campos

Nombre Valor Description
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.

XAML
<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.

C#
public class LotsOfItems : ObservableCollection<String>
{
    public LotsOfItems()
    {
        for (int i = 0; i < 1000; ++i)
        {
            Add("item " + i.ToString());
        }
    }
}

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

Producto Versiones
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Consulte también