Table of Contents

Performance and Data Virtualization

Tree List and Data Grid controls supports a data virtualization mechanism, which enhances a control's performance (load time) for large data sets. When data virtualization is enabled (default), a control generates visual elements (cells, column headers, etc.) only for the current viewport. Otherwise, visual elements are created and stored in memory even for cells and column headers outside the viewport.

Vertical and Horizontal Virtualization

Vertical virtualization (when scrolling through rows) is always active.

Horizontal virtualization (when scrolling through columns) is enabled by default.

  • TreeListControl.AllowHorizontalVirtualization property — Gets or sets whether horizontal virtualization is enabled.

You may need to disable horizontal virtualization when rows/nodes have different heights (when a row height is calculated based on cell contents). See Node Auto-Height.

When horizontal virtualization is enabled, automatic row heights are calculated according to the contents of the currently visible cells. Cells outside the viewport do not affect row height calculation. When you scroll to the cells with different content heights, the row height is adjusted dynamically. To prevent dynamic row height changes during horizontal scrolling, disable horizontal virtualization.

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