Comment : améliorer les performances de défilement d'un contrôle ListBox
Si un ListBox élément contient de nombreux éléments, la réponse de l’interface utilisateur peut être lente lorsqu’un utilisateur défile à ListBox l’aide de la roulette de la souris ou fait glisser le pouce d’une barre de défilement. Vous pouvez améliorer les performances du défilement de ListBox l’utilisateur en définissant la VirtualizingStackPanel.VirtualizationMode
propriété jointe sur VirtualizationMode.Recycling.
Exemple
Description
L’exemple suivant crée une ListBox propriété jointe et définit la VirtualizingStackPanel.VirtualizationMode
propriété jointe pour VirtualizationMode.Recycling améliorer les performances pendant le défilement.
Code
<StackPanel>
<StackPanel.Resources>
<src:LotsOfItems x:Key="data"/>
</StackPanel.Resources>
<ListBox Height="150" ItemsSource="{StaticResource data}"
VirtualizingStackPanel.VirtualizationMode="Recycling" />
</StackPanel>
L’exemple suivant montre les données que l’exemple précédent utilise.
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