Jak zlepšit výkon posouvání v ListBoxu
Pokud ListBox obsahuje mnoho položek, může být odezva uživatelského rozhraní pomalá, když uživatel posune ListBox pomocí kolečka myši nebo přetažením palce posuvníku. Výkon ListBox můžete zvýšit, když uživatel projíždí, nastavením VirtualizingStackPanel.VirtualizationMode
připojené vlastnosti na VirtualizationMode.Recycling.
Příklad
Popis
Následující příklad vytvoří ListBox a nastaví připojenou vlastnost VirtualizingStackPanel.VirtualizationMode
na VirtualizationMode.Recycling ke zvýšení výkonu během posouvání.
Kód
<StackPanel>
<StackPanel.Resources>
<src:LotsOfItems x:Key="data"/>
</StackPanel.Resources>
<ListBox Height="150" ItemsSource="{StaticResource data}"
VirtualizingStackPanel.VirtualizationMode="Recycling" />
</StackPanel>
Následující příklad ukazuje data, která používá předchozí příklad.
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
Spolupracujte s námi na GitHubu
Zdroj tohoto obsahu najdete na GitHubu, kde můžete také vytvářet a kontrolovat problémy a žádosti o přijetí změn. Další informace najdete v našem průvodci pro přispěvatele.
.NET Desktop feedback