VirtualDataGridWPF 1.0.0
dotnet add package VirtualDataGridWPF --version 1.0.0
NuGet\Install-Package VirtualDataGridWPF -Version 1.0.0
<PackageReference Include="VirtualDataGridWPF" Version="1.0.0" />
<PackageVersion Include="VirtualDataGridWPF" Version="1.0.0" />
<PackageReference Include="VirtualDataGridWPF" />
paket add VirtualDataGridWPF --version 1.0.0
#r "nuget: VirtualDataGridWPF, 1.0.0"
#:package VirtualDataGridWPF@1.0.0
#addin nuget:?package=VirtualDataGridWPF&version=1.0.0
#tool nuget:?package=VirtualDataGridWPF&version=1.0.0
VirtualDataGridWPF
VirtualDataGridWPF is a high-performance, virtualized spreadsheet-like grid for WPF, targeting .NET 9 (net9.0-windows).
It provides spreadsheet-style selection, editing, formatting, formulas, context menus, toolbar/search integration, charting, import/export, and extensibility APIs for custom UI.
Target Framework
.NET 9WPF(UseWPF=true)- Nullable enabled
Main Components
FastGrid(VirtualDataGridWPF/Controls/FastGrid*.cs)FastGridToolbar(VirtualDataGridWPF/Controls/FastGridToolbar.xaml(.cs))FastGridSearchBar(VirtualDataGridWPF/Controls/FastGridSearchBar.xaml(.cs))FastGridPanel(VirtualDataGridWPF/Controls/FastGridPanel.xaml(.cs))FastGridContextMenuRequest(VirtualDataGridWPF/Controls/FastGridContextMenuRequest.cs)FastGridSelectionSnapshot(VirtualDataGridWPF/Controls/FastGridSelectionSnapshot.cs)FastGridToolbarAction/FastGridMenuAction
FastGrid Features
- Virtualized rendering and scrolling
- Selection modes
- Active cell
- Range selection
- Ctrl multi-cell selection
- Lasso selection
- Row and column header selection (including multi-select)
- Selection APIs
GetSelectionInfo()GetSelectionSnapshot()(selected cells/rows/columns)
- Editing
- In-place edit and commit/cancel workflows
- Clipboard operations:
Copy,Cut,Paste,Delete content - Fill handle drag for pattern/series fill
- Structure operations
- Insert/Delete row
- Insert/Delete column
- Delete selected rows/columns
- Column width: set and auto-fit
- Sorting
- Sort by selected column
- Sort selection range
- Filtering
- Column value filter dialog with search/select-all/deselect-all/apply
- Multi-column filtering support
- Clear all column filters
- Merge
- Merge Cell option (merge selected cells)
- Merge Column option (merge selected columns)
- Hide/Unhide
- Hide selected rows/columns
- Unhide specific/all rows/columns
- Read-only protection
- Grid-level read-only (
IsGridReadOnly) - Selection-level read-only toggle and clear
- Grid-level read-only (
- Formatting
- Alignment, font family/size, bold, italic, underline
- Foreground/background colors
- Per-cell formats
- Formula support
- Built-in formula evaluation toggle (
EnableBuiltInFormulaEvaluation) - Custom evaluator hook (
CustomFormulaEvaluator) - Formula reference highlighting and aggregate support
- Built-in formula evaluation toggle (
- Context menus
- Cell / Row / Column / Select-all menus
- Built-in quick format strip and menu search
- Per-feature visibility toggles (
ContextMenuShowCopy/Paste/Insert/Delete/Freeze/Alignment) - Custom menu factory (
CustomContextMenuFactory)
- Charting
CanShowChartFromSelection()andShowChart()
Data Binding and Columns
FastGrid supports:
DataSource(IFastGridDataSource)ItemsSource(IEnumerable) with optional auto column generation- Explicit
Columns(ObservableCollection<FastGridColumn>)
FastGridColumn supports typed and formatted columns:
ColumnType:Text,Numeric,DateTimeFormat- Alignment/styling metadata
- Per-column read-only support
Context Menu and Toolbar Extensibility APIs
Custom context menus
CustomContextMenuFactory: Func<FastGridContextMenuRequest, ContextMenu?>FastGridContextMenuRequestincludes:Target(Cell,Row,Column,SelectAll)RowIndex,ColumnIndex,ActiveCellHasData,HasSelection
Built-in action catalog for custom menus/toolbars
FastGrid.SupportedMenuActionsFastGrid.CanExecuteMenuAction(...)FastGrid.ExecuteMenuAction(...)
Custom toolbar support
In FastGridToolbar / FastGridPanel:
UseBuiltInToolbarCustomToolbarContentSupportedActions/SupportedToolbarActionsCanExecuteToolbarAction(...)ExecuteToolbarAction(...)
FastGridToolbar Features
- Ribbon-style grouped actions (File/Home/Insert/Data/View)
- File menu actions
- Open Project
- Save Project
- Save Project As
- Recent Projects
- Exit
- Project persistence support (open/save/recent)
- Clipboard, undo/redo, insert/delete, sort, chart, protection, display toggles
- Formatting controls (font family/size/emphasis/colors)
- Theme switching (Light/Dark)
- Import
- Excel, CSV, Text, Image
- Export
- Excel, CSV, Text, XML, DOCX, PDF, Image
FastGridPanel Features
FastGridPanel hosts grid + toolbar + search bar and adds:
- Show/hide toolbar and search bar
- Toolbar customization forwarding (
UseBuiltInToolbar,CustomToolbarContent, action execution) - Chart overlay canvas (
ShowChart,RemoveChart,ClearAllCharts,GetAllCharts) - Zoom controls and Ctrl+MouseWheel zoom
Theming
Theme resources:
Themes/LightTheme.xamlThemes/DarkTheme.xamlThemes/Generic.xaml
FastGridThemeManager applies/switches themes so grid, toolbar, and search visuals remain consistent.
Basic Usage (XAML)
<Window
x:Class="YourNamespace.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:fg="clr-namespace:VirtualDataGridWPF.Controls"
Title="FastGrid Demo"
Width="1000"
Height="600">
<Grid>
<fg:FastGrid x:Name="Grid"
ShowRowNumbers="True"
ShowColumnHeaders="True"
ShowTopLeftCell="True"
FrozenColumnCount="0"
RowHeight="24" />
</Grid>
</Window>
using System.Collections.Generic;
using System.Windows;
namespace YourNamespace;
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Grid.ItemsSource = new List<Person>
{
new() { Id = 1, Name = "Alice", City = "Seattle", Age = 30, Salary = 90000 },
new() { Id = 2, Name = "Bob", City = "New York", Age = 28, Salary = 85000 }
};
}
}
public class Person
{
public int Id { get; set; }
public string Name { get; set; } = "";
public string City { get; set; } = "";
public int Age { get; set; }
public decimal Salary { get; set; }
}
Panel Usage
<fg:FastGridPanel x:Name="GridPanel" />
GridPanel.ShowToolbar = true;
GridPanel.ShowSearchBar = true;
GridPanel.Grid.FrozenColumnCount = 1;
Selection Snapshot Example
var snapshot = Grid.GetSelectionSnapshot();
var selectedCells = snapshot.SelectedCells;
var selectedRows = snapshot.SelectedRows;
var selectedColumns = snapshot.SelectedColumns;
Notes
FastGridPanelwires toolbar and search bar automatically to its internal grid.- If
FastGridPanel.DataSourcechanges, search state is reset. - For custom UI, use the action catalogs and execute/can-execute APIs instead of duplicating grid command logic.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0-windows10.0.19041 is compatible. net10.0-windows was computed. |
-
net9.0-windows10.0.19041
- ChartAppLib (>= 1.0.3)
- DocxPDFGeneratorLib (>= 1.0.0)
- OCRReaderLib (>= 1.0.0)
- System.Drawing.Common (>= 10.0.9)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 128 | 7/10/2026 |