Postupy: Zvýšení výkonu posunování prvku ListBox
ListBox Pokud obsahuje mnoho položek, může být odezva uživatelského rozhraní pomalá, když se uživatel posune ListBox pomocí kolečka myši nebo přetáhne palec posuvníku. Výkon při posouvání uživatelem můžete zlepšit ListBox nastavením VirtualizingStackPanel.VirtualizationMode
připojené vlastnosti na VirtualizationMode.Recyclinghodnotu .
Příklad
Popis
Následující příklad vytvoří ListBox a nastaví připojenou VirtualizingStackPanel.VirtualizationMode
vlastnost pro VirtualizationMode.Recycling 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