Прочитать на английском

Поделиться через


VirtualizationMode Перечисление

Определение

Задает метод, используемый VirtualizingStackPanel для управления виртуализацией дочерних элементов.

C#
public enum VirtualizationMode
Наследование
VirtualizationMode

Поля

Recycling 1

Повторное использование контейнеров элементов.

Standard 0

Создание и удаление контейнеров элементов.

Примеры

В следующем примере создается и задается VirtualizationMode присоединенное ListBox свойство в качестве рециркуляции.

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 когда контейнеры элементов не могут быть переработаны.

  • Содержит ItemsControl контейнеры элементов разных типов. Например, Menu элементы, которые используют оба MenuItem элемента и Separator объекты в качестве контейнеров элементов.

  • Вы явным образом создаете контейнеры элементов для ItemsControl.

Применяется к

Продукт Версии
.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
Windows Desktop 3.0, 3.1, 5, 6, 7

См. также раздел