Procedura: migliorare le prestazioni di scorrimento di un controllo ListBox
Se contiene ListBox molti elementi, la risposta dell'interfaccia utente può essere lenta quando un utente scorre ListBox utilizzando la rotellina del mouse o trascinando il pollice di una barra di scorrimento. È possibile migliorare le prestazioni di ListBox quando l'utente scorre impostando la VirtualizingStackPanel.VirtualizationMode
proprietà associata su VirtualizationMode.Recycling.
Esempio
Descrizione
Nell'esempio seguente viene creato un oggetto ListBox e viene impostata la VirtualizingStackPanel.VirtualizationMode
proprietà associata per VirtualizationMode.Recycling 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 usati dall'esempio precedente.
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
.NET Desktop feedback