VirtualizationMode 列舉

定義

指定 VirtualizingStackPanel 用來處理其子項目虛擬化的方法。

C#
public enum VirtualizationMode
繼承
VirtualizationMode

欄位

名稱 Description
Recycling 1

重複使用項目容器。

Standard 0

建立並捨棄項目容器。

範例

下列範例會建立 , ListBox 並將 VirtualizationMode 附加屬性設定為回收。

XAML
<StackPanel>

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

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

</StackPanel>

下列範例顯示上一個範例中使用的資料。

C#
public class LotsOfItems : ObservableCollection<String>
{
    public LotsOfItems()
    {
        for (int i = 0; i < 1000; ++i)
        {
            Add("item " + i.ToString());
        }
    }
}

備註

根據預設,會 VirtualizingStackPanel 為每個可見專案建立一個專案容器,並在不再需要專案時捨棄它 (,例如當專案捲動到檢視) 時。 ItemsControl當 包含許多專案時,建立和捨棄專案容器的程式可能會對效能造成負面影響。 當 設定為 [回收] 時 VirtualizationMode ,會 VirtualizingStackPanel 重複使用專案容器,而不是每次建立新的容器。

VirtualizingStackPanel 無法回收專案容器時,它會使用虛擬化的標準模式,也就是為每個專案建立和捨棄專案容器。 下列清單描述無法回收專案容器的情況 VirtualizingStackPanel

適用於

產品 版本
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

另請參閱