Comment : améliorer les performances de défilement d'un contrôle ListBox
Mise à jour : Juillet 2008
Si un ListBox contient de nombreux éléments, la réponse de l'interface utilisateur risque d'être lente lorsqu'un utilisateur fait défiler le ListBox à l'aide de la roulette de la souris ou en faisant glisser le curseur d'une barre de défilement. Vous pouvez améliorer les performances de ListBox lorsque l'utilisateur effectue un défilement en affectant à la propriété jointe VirtualizingStackPanelVirtualizationMode() la valeur Recycling.
Exemple
Description
L'exemple suivant crée un Listbox et affecte à VirtualizingStackPanelVirtualizationMode() la valeur Recycling pour améliorer les performances de 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 présente les données utilisées dans l'exemple précédent.
public class LotsOfItems : ObservableCollection<String>
{
public LotsOfItems()
{
for (int i = 0; i < 1000; ++i)
{
Add("item " + i.ToString());
}
}
}
Historique des modifications
Date |
Historique |
Raison |
---|---|---|
Juillet 2008 |
Ajout d'une rubrique pour présenter les nouvelles fonctionnalités de recyclage de conteneurs et de virtualisation de l'interface utilisateur. |
Modifications de fonctionnalités dans le SP1. |