方法: ListBox のスクロール パフォーマンスを向上させる
ListBox に多数の項目が含まれている場合、ユーザーがマウス ホイールを使用するかスクロール バーのつまみをドラッグして ListBox をスクロールすると、ユーザー インターフェイスの応答が遅くなる可能性があります。 VirtualizingStackPanel.VirtualizationMode
添付プロパティを VirtualizationMode.Recyclingに設定することで、ユーザーがスクロールするときの ListBox のパフォーマンスを向上させることができます。
例
説明
次の例では、ListBox を作成し、VirtualizingStackPanel.VirtualizationMode
添付プロパティを VirtualizationMode.Recycling に設定して、スクロール時のパフォーマンスを向上させます。
コード
<StackPanel>
<StackPanel.Resources>
<src:LotsOfItems x:Key="data"/>
</StackPanel.Resources>
<ListBox Height="150" ItemsSource="{StaticResource data}"
VirtualizingStackPanel.VirtualizationMode="Recycling" />
</StackPanel>
次の例は、前の例で使用したデータを示しています。
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
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET Desktop feedback