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.


    <src:LotsOfItems x:Key="data"/>

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


次の例では、前の例で使用したデータを示します。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())
    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.