Перейти к содержанию

Производительность и виртуализация данных

Элементы управления TreeList и DataGrid поддерживают механизм виртуализации данных, который повышает производительность (время загрузки) контрола при работе с большими наборами данных. Когда виртуализация данных включена (по умолчанию), контрол создаёт визуальные элементы (ячейки, заголовки колонок и т. д.) только для текущей видимой области. В противном случае визуальные элементы создаются и хранятся в памяти даже для ячеек и заголовков колонок за пределами видимой области.

Вертикальная и горизонтальная виртуализация

Вертикальная виртуализация (при прокрутке строк) всегда активна.

Горизонтальная виртуализация (при прокрутке колонок) включена по умолчанию.

Связанный API
  • Свойство TreeListControl.AllowHorizontalVirtualization — задаёт, включена ли горизонтальная виртуализация.

Может потребоваться отключить горизонтальную виртуализацию, если строки/узлы имеют разную высоту (когда высота строки вычисляется на основе содержимого ячеек). См. Автоматическая высота узла.

Когда горизонтальная виртуализация включена, автоматическая высота строк рассчитывается на основе содержимого текущих видимых ячеек. Ячейки за пределами видимой области не влияют на расчёт высоты строки. При прокрутке к ячейкам с иной высотой содержимого высота строки динамически корректируется. Чтобы предотвратить динамическое изменение высоты строк при горизонтальной прокрутке, отключите горизонтальную виртуализацию.

<mxtl:TreeListControl x:Name="treeList" AllowHorizontalVirtualization="False">



* Эта страница переведена с использованием технологий машинного перевода.