VirtualizationMode 列挙型


VirtualizingStackPanel が子アイテムの仮想化の管理に使用するメソッドを指定します。Specifies the method the VirtualizingStackPanel uses to manage virtualizing its child items.

public enum class VirtualizationMode
public enum VirtualizationMode
type VirtualizationMode = 
Public Enum VirtualizationMode


Recycling 1

項目コンテナーを再利用します。Reuse the item containers.

Standard 0

項目コンテナーを作成し、破棄します。Create and discard the item containers.

次の例では、ListBox を作成し、VirtualizationMode 添付プロパティをリサイクルに設定します。The following example creates a ListBox and sets the 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


既定では、VirtualizingStackPanel は、表示されている項目ごとに項目コンテナーを作成し、不要になったときに破棄します (項目がスクロールして表示されなくなった場合など)。By default, a VirtualizingStackPanel 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 many items, the process of creating and discarding item containers can negatively affect performance. VirtualizationMode がリサイクルに設定されている場合、VirtualizingStackPanel は、毎回新しい項目コンテナーを作成するのではなく、項目コンテナーを再利用します。When VirtualizationMode is set to Recycling, the VirtualizingStackPanel reuses item containers instead of creating a new one each time.

VirtualizingStackPanel が項目コンテナーを再利用できない場合は、仮想化の標準モードを使用します。これは、各項目の項目コンテナーを作成および破棄するためのものです。When VirtualizingStackPanel cannot recycle item containers, it uses the standard mode of virtualization, which is to create and discard item containers for each item. 次の一覧では、VirtualizingStackPanel が項目コンテナーをリサイクルできない場合について説明します。The following list describes cases when the VirtualizingStackPanel cannot recycle item containers:

  • ItemsControl には、さまざまな種類の項目コンテナーが含まれています。The ItemsControl contains item containers of different types. たとえば、Menu には、MenuItemSeparator の両方のオブジェクトを項目コンテナーとして使用する項目が含まれている場合があります。For example, a Menu might have items that use both MenuItem and Separator objects as the item containers.

  • ItemsControlの項目コンテナーを明示的に作成します。You explicitly create the item containers for the ItemsControl.