VirtualizationMode 列挙型
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
子項目の仮想化を管理するために VirtualizingStackPanel が使用するメソッドを指定します。
public enum class VirtualizationMode
public enum VirtualizationMode
type VirtualizationMode =
Public Enum VirtualizationMode
- 継承
フィールド
| 名前 | 値 | 説明 |
|---|---|---|
| Standard | 0 | 項目コンテナーを作成して破棄します。 |
| Recycling | 1 | 項目コンテナーを再利用します。 |
例
次の例では、 ListBox を作成し、 VirtualizationMode 添付プロパティを [リサイクル] に設定します。
<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
注釈
既定では、 VirtualizingStackPanel は、表示されている項目ごとに項目コンテナーを作成し、不要になったとき (項目が表示されない場合など) に破棄します。 ItemsControlに多数の項目が含まれている場合、項目コンテナーを作成および破棄するプロセスがパフォーマンスに悪影響を与える可能性があります。 VirtualizationModeが [リサイクル] に設定されている場合、VirtualizingStackPanelは毎回新しいコンテナーを作成するのではなく、項目コンテナーを再利用します。
VirtualizingStackPanelアイテム コンテナーをリサイクルできない場合は、仮想化の標準モードが使用されます。これは、アイテムごとに項目コンテナーを作成して破棄することです。 次の一覧では、 VirtualizingStackPanel がアイテム コンテナーをリサイクルできない場合について説明します。
ItemsControlには、さまざまな種類の項目コンテナーが含まれています。 たとえば、 Menu には、 MenuItem オブジェクトと Separator オブジェクトの両方をアイテム コンテナーとして使用する項目がある場合があります。
ItemsControlの項目コンテナーを明示的に作成します。