VirtualDataGridWPF 1.0.0

dotnet add package VirtualDataGridWPF --version 1.0.0
                    
NuGet\Install-Package VirtualDataGridWPF -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="VirtualDataGridWPF" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="VirtualDataGridWPF" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="VirtualDataGridWPF" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add VirtualDataGridWPF --version 1.0.0
                    
#r "nuget: VirtualDataGridWPF, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package VirtualDataGridWPF@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=VirtualDataGridWPF&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=VirtualDataGridWPF&version=1.0.0
                    
Install as a Cake Tool

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 9
  • WPF (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
  • 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
  • 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() and ShowChart()

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, DateTime
  • Format
  • Alignment/styling metadata
  • Per-column read-only support

Context Menu and Toolbar Extensibility APIs

Custom context menus

  • CustomContextMenuFactory: Func<FastGridContextMenuRequest, ContextMenu?>
  • FastGridContextMenuRequest includes:
    • Target (Cell, Row, Column, SelectAll)
    • RowIndex, ColumnIndex, ActiveCell
    • HasData, HasSelection

Built-in action catalog for custom menus/toolbars

  • FastGrid.SupportedMenuActions
  • FastGrid.CanExecuteMenuAction(...)
  • FastGrid.ExecuteMenuAction(...)

Custom toolbar support

In FastGridToolbar / FastGridPanel:

  • UseBuiltInToolbar
  • CustomToolbarContent
  • SupportedActions / SupportedToolbarActions
  • CanExecuteToolbarAction(...)
  • 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.xaml
  • Themes/DarkTheme.xaml
  • Themes/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

  • FastGridPanel wires toolbar and search bar automatically to its internal grid.
  • If FastGridPanel.DataSource changes, search state is reset.
  • For custom UI, use the action catalogs and execute/can-execute APIs instead of duplicating grid command logic.
Product Compatible and additional computed target framework versions.
.NET net9.0-windows10.0.19041 is compatible.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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