VirtualizationMode 枚举

定义

指定 VirtualizingStackPanel 用来管理子项虚拟化的方法。

public enum VirtualizationMode
继承
VirtualizationMode

字段

名称 说明
Recycling 1

重用项容器。

Standard 0

创建并放弃项容器。

示例

以下示例创建 , ListBox 并将附加属性设置为 VirtualizationMode Recycling。

<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());
        }
    }
}

注解

默认情况下, 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

另请参阅