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