Aracılığıyla paylaş


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

bir ListBox çok öğe içeriyorsa, kullanıcı fare tekerleğini kullanarak veya kaydırma çubuğunun başparmağını sürükleyerek kaydırdığında kullanıcı ListBox arabirimi yanıtı yavaş olabilir. Ekli özelliği VirtualizationMode.Recyclingolarak ayarlayarak VirtualizingStackPanel.VirtualizationMode kullanıcı kaydırdığında performansını ListBox geliştirebilirsiniz.

Örnek

Tanım

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

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