مشاركة عبر


كيفية القيام بما يلي: تحسين أداء التمرير لمربع القائمة

إذا احتوى ListBox على عناصر كثيرة يمكن أن يبطئ استجابة واجهة المستخدم عند تمرير المستخدم لListBox باستخدام عجلة الماوس أو سحب إبهام شريط التمرير. يمكنك تحسين الأداء ListBox عند تمرير المستخدم بواسطة تعيين الخاصية المرفقة إلي VirtualizingStackPanelVirtualizationMode() إلى Recycling.

مثال

الوصف

يقوم المثال التالي بإنشاء ListBox ويقوم بتعيين VirtualizingStackPanelVirtualizationMode() إلي Recycling لتحسين الأداء أثناء التمرير.

الرمز

<StackPanel>

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

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

</StackPanel>

يظهر المثال التالي البيانات التي يستخدمها المثال السابق.

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
public class LotsOfItems : ObservableCollection<String>
{
    public LotsOfItems()
    {
        for (int i = 0; i < 1000; ++i)
        {
            Add("item " + i.ToString());
        }
    }
}