So verbessern Sie die Scrollleistung einer ListBox
Wenn ein ListBox viele Elemente enthält, kann die Reaktion der Benutzeroberfläche langsam sein, wenn ein Benutzer ListBox mit dem Mausrad scrollt oder den Daumen einer Bildlaufleiste zieht. Sie können die Leistung der ListBox verbessern, wenn der Benutzer scrollt, indem Sie die angefügte eigenschaft VirtualizingStackPanel.VirtualizationMode
auf VirtualizationMode.Recyclingfestlegen.
Beispiel
Beschreibung
Im folgenden Beispiel wird ein ListBox erstellt und die angefügte eigenschaft VirtualizingStackPanel.VirtualizationMode
auf VirtualizationMode.Recycling festgelegt, um die Leistung während des Bildlaufs zu verbessern.
Code
<StackPanel>
<StackPanel.Resources>
<src:LotsOfItems x:Key="data"/>
</StackPanel.Resources>
<ListBox Height="150" ItemsSource="{StaticResource data}"
VirtualizingStackPanel.VirtualizationMode="Recycling" />
</StackPanel>
Das folgende Beispiel zeigt die Daten, die im vorherigen Beispiel verwendet werden.
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