Procedura: migliorare le prestazioni di scorrimento di un controllo ListBox
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 VirtualizingStackPanel.VirtualizationMode su Recycling.
Esempio
Descrizione
Nell'esempio seguente viene creato un controllo ListBox e la proprietà VirtualizingStackPanel.VirtualizationMode viene impostata su Recycling per migliorare le prestazioni durante lo scorrimento.
Codice
<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
Inherits ObservableCollection(Of String)
Public Sub New()
For i As Integer = 0 To 999
Add("item " & i.ToString())
Next
End Sub
End Class
public class LotsOfItems : ObservableCollection<String>
{
public LotsOfItems()
{
for (int i = 0; i < 1000; ++i)
{
Add("item " + i.ToString());
}
}
}