Aracılığıyla paylaş


Nasıl yapılır: ListBox'ın Kaydırma Performansını Geliştirme

Bir ListBox birçok öğe içeriyorsa, kullanıcı fare tekerleğini kullanarak veya kaydırma çubuğunun başparmağını sürükleyerek ListBox kaydırdığında kullanıcı arabirimi yanıtı yavaş olabilir. ListBox iliştirilmiş özelliğini VirtualizingStackPanel.VirtualizationModeolarak ayarlayarak kullanıcı kaydırma yaptığında VirtualizationMode.Recycling performansını artırabilirsiniz.

Örnek

Açıklama

Aşağıdaki örnek bir ListBox oluşturur ve kaydırma sırasında performansı artırmak için ekli VirtualizingStackPanel.VirtualizationMode özelliğini VirtualizationMode.Recycling olarak ayarlar.

Kod

<StackPanel>

  <StackPanel.Resources>
    <src:LotsOfItems x:Key="data"/>
  </StackPanel.Resources>

  <ListBox Height="150" ItemsSource="{StaticResource data}" 
             VirtualizingStackPanel.VirtualizationMode="Recycling" />

</StackPanel>

Aşağıdaki örnekte, önceki örnekte kullanılan veriler gösterilmektedir.

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