Bounded layout for very large data
Virtual Data Surfaces
Scale the viewport without throwing away interaction, automation, or measurable behavior.
Explore source ↗Capability
ProDataGrid exposes several performance paths because virtualization is a product choice: retained controls preserve the broadest Avalonia behavior, while drawn and virtual surfaces trade template flexibility for tighter CPU and allocation budgets.
- 01
Flat, retained, drawn, and fully virtual layouts
- 02
Row retargeting, recycling, and bounded extent calculation
- 03
Virtual selection, sorting, editing, and specialized cells
- 04
Scroll, layout, hierarchy, and sorting benchmarks
How it composes
From intent
to working system.
Source
Collections, hierarchy adapters, remote queries, and runtime-defined shapes expose rows incrementally.
Realize
Replaceable realization factories choose retained controls, drawn cells, or virtual row state for the viewport.
Retarget
Recycled rows update typed content, selection, editing, automation, and lifecycle state without rebuilding the full surface.
Measure
Dedicated benchmarks track scrolling, sorting, hierarchy, recycling, layout, and allocation trade-offs.
Quick start
Adopt this
capability.
Start with the primary module, then add the related packages only when the application needs those layers. Replace VERSION with the current NuGet version.
dotnet add package ProDataGrid<PackageReference Include="ProDataGrid" Version="VERSION" /><PackageVersion Include="ProDataGrid" Version="VERSION" /><DataGrid ItemsSource="{Binding Trades}" RowTheme="{StaticResource DataGridOptimizedFeatureUnfrozenRowTheme}" CellTheme="{StaticResource DataGridOptimizedCellTheme}" UseLightweightFiller="True" />Modules in this capability
Use one layer.
Compose the rest.
Source of truth
Read the module beside the complete system.
The implementation, samples, issues, and release notes stay in the parent repository so module details remain connected to the product architecture.