Partager via


VirtualizationMode Énumération

Définition

Spécifie la méthode que le VirtualizingStackPanel utilise pour gérer la virtualisation de ses éléments enfants.

public enum class VirtualizationMode
public enum VirtualizationMode
type VirtualizationMode = 
Public Enum VirtualizationMode
Héritage
VirtualizationMode

Champs

Recycling 1

Réutiliser les conteneurs d’éléments.

Standard 0

Créer et supprimer les conteneurs d’éléments.

Exemples

L’exemple suivant crée un ListBox et définit la VirtualizationMode propriété jointe sur Recyclage.

<StackPanel>

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

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

</StackPanel>

L’exemple suivant montre les données utilisées dans l’exemple précédent.

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

Remarques

Par défaut, un VirtualizingStackPanel conteneur d’éléments crée un conteneur d’éléments pour chaque élément visible et l’ignore lorsqu’il n’est plus nécessaire (par exemple, lorsque l’élément sort de l’affichage). Lorsqu’un contient un grand nombre d’éléments, le processus de création et d’abandon des conteneurs d’éléments ItemsControl peut affecter négativement les performances. Lorsque VirtualizationMode est défini sur Recyclage, le VirtualizingStackPanel réutilise les conteneurs d’éléments au lieu d’en créer un à chaque fois.

Lorsque VirtualizingStackPanel ne peut pas recycler les conteneurs d’éléments, il utilise le mode standard de virtualisation, qui consiste à créer et à ignorer des conteneurs d’éléments pour chaque élément. La liste suivante décrit les cas où les conteneurs d’éléments VirtualizingStackPanel ne peuvent pas recycler :

  • contient des ItemsControl conteneurs d’éléments de différents types. Par exemple, un Menu peut avoir des éléments qui utilisent à la fois des MenuItem objets et Separator comme conteneurs d’éléments.

  • Vous créez explicitement les conteneurs d’éléments pour .ItemsControl

S’applique à

Voir aussi