Nasıl yapılır: ListBox'ın Kayma Performansını Artırma

Bir çok öğe içeriyorsa, kullanıcı fare tekerleğini kullanarak veya kaydırma çubuğunun başparmakını sürükleyerek ekranı kaydırıyorsa kullanıcı arabirimi ListBox ListBox yanıtı yavaş olabilir. Ekli özelliği olarak ListBox ayarerek kullanıcı kaydırarak performansını VirtualizingStackPanel.VirtualizationMode VirtualizationMode.Recycling geliştirebilirsiniz.

Örnek

Açıklama

Aşağıdaki örnek bir oluşturur ListBox ve kaydırma sırasında performansı artırmak için VirtualizingStackPanel.VirtualizationMode VirtualizationMode.Recycling ekli özelliği 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 örnek, önceki örneğin kullandığı verileri gösterir.

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