VirtualizationMode Énumération

Définition

Spécifie la méthode utilisée par l'VirtualizingStackPanel 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

Nom Valeur Description
Standard 0

Créez et ignorez les conteneurs d’éléments.

Recycling 1

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

Exemples

L’exemple suivant crée une ListBox propriété jointe 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 est créé pour chaque élément visible et l’ignore lorsqu’il n’est plus nécessaire (par exemple, lorsque l’élément fait défiler l’affichage). Lorsqu’un ItemsControl élément contient de nombreux éléments, le processus de création et d’abandon des conteneurs d’éléments peut affecter négativement les performances. Lorsqu’il VirtualizationMode est défini sur Recyclage, le VirtualizingStackPanel réutilise les conteneurs d’éléments au lieu de créer un conteneur à chaque fois.

Lorsqu’il 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 ItemsControl des conteneurs d’éléments de différents types. Par exemple, un Menu élément peut avoir des éléments qui utilisent à la fois MenuItem et Separator des objets comme conteneurs d’éléments.

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

S’applique à

Voir aussi