Compartilhar via


VirtualizingPanel.VirtualizationMode Propriedade anexada

Definição

Obtém ou define como um painel em um ItemsControl virtualiza seus itens filhos.

see GetVirtualizationMode, and SetVirtualizationMode
see GetVirtualizationMode, and SetVirtualizationMode
see GetVirtualizationMode, and SetVirtualizationMode

Exemplos

O exemplo a seguir cria um ListBox e define a VirtualizingPanel.VirtualizationMode propriedade anexada como Recycling.

<StackPanel>

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

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

</StackPanel>

O exemplo a seguir mostra os dados usados no exemplo 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

Comentários

Por padrão, um VirtualizingPanel item cria um contêiner de item para cada item visível e o descarta quando ele não é mais necessário (como quando o item é rolado para fora do modo de exibição). Quando um ItemsControl contém muitos itens, o processo de criação e descarte de contêineres de itens pode afetar negativamente o desempenho. Quando VirtualizingPanel.VirtualizationMode é definido como Recycling, o VirtualizingPanel item reutiliza contêineres de item em vez de criar um novo cada vez.

Aplica-se a