VirtualizingPanel.VirtualizationMode 添付プロパティ

定義

ItemsControl のパネルで子アイテムを仮想化する方法を取得または設定します。Gets or sets how a panel in an ItemsControl virtualizes its child items.

see GetVirtualizationMode, and SetVirtualizationMode
see GetVirtualizationMode, and SetVirtualizationMode
see GetVirtualizationMode, and SetVirtualizationMode

次の例では、ListBox を作成し、VirtualizingPanel.VirtualizationMode 添付プロパティを Recyclingに設定します。The following example creates a ListBox and sets the VirtualizingPanel.VirtualizationMode attached property to Recycling.

<StackPanel>

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

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

</StackPanel>

次の例では、前の例で使用したデータを示します。The following example shows the data used in the previous example.

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

注釈

既定では、VirtualizingPanel は、表示されている項目ごとに項目コンテナーを作成し、不要になったときに破棄します (項目がスクロールして表示されなくなった場合など)。By default, a VirtualizingPanel creates an item container for each visible item and discards it when it is no longer needed (such as when the item is scrolled out of view). ItemsControl に多数の項目が含まれている場合、項目コンテナーを作成および破棄するプロセスによってパフォーマンスが低下する可能性があります。When an ItemsControl contains a lot of items, the process of creating and discarding item containers can negatively affect performance. VirtualizingPanel.VirtualizationModeRecyclingに設定されている場合、VirtualizingPanel は、毎回新しいコンテナーを作成するのではなく、項目コンテナーを再利用します。When VirtualizingPanel.VirtualizationMode is set to Recycling, the VirtualizingPanel reuses item containers instead of creating a new one each time.

適用対象