Share via


Procedura: migliorare le prestazioni di scorrimento di un controllo ListBox

Aggiornamento: Luglio 2008

Se un controllo ListBox contiene molti elementi, la risposta dell'interfaccia utente può essere lenta quando un utente scorre ListBox tramite la rotellina del mouse o trascinando il cursore di una barra di scorrimento. È possibile migliorare le prestazioni di ListBox quando l'utente scorre la visualizzazione impostando la proprietà associata VirtualizingStackPanelVirtualizationMode() su Recycling.

Esempio

Descrizione

Nell'esempio seguente viene creato un controllo Listbox e la proprietà VirtualizingStackPanelVirtualizationMode() viene impostata su Recycling per migliorare le prestazioni durante lo scorrimento.

Code

<StackPanel>

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

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

</StackPanel>

Nell'esempio seguente vengono illustrati i dati utilizzati nell'esempio precedente.

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

Cronologia delle modifiche

Date

History

Motivo

Luglio 2008

Argomento aggiunto per mostrare le nuove funzionalità di virtualizzazione dell'interfaccia utente e di riciclo del contenitore.

Modifica di funzionalità in SP1.