MiniDashboard.Avalonia.TreeDataGrid 2.2.0.98

There is a newer version of this package available.
See the version list below for details.
dotnet add package MiniDashboard.Avalonia.TreeDataGrid --version 2.2.0.98
                    
NuGet\Install-Package MiniDashboard.Avalonia.TreeDataGrid -Version 2.2.0.98
                    
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="MiniDashboard.Avalonia.TreeDataGrid" Version="2.2.0.98" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MiniDashboard.Avalonia.TreeDataGrid" Version="2.2.0.98" />
                    
Directory.Packages.props
<PackageReference Include="MiniDashboard.Avalonia.TreeDataGrid" />
                    
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 MiniDashboard.Avalonia.TreeDataGrid --version 2.2.0.98
                    
#r "nuget: MiniDashboard.Avalonia.TreeDataGrid, 2.2.0.98"
                    
#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 MiniDashboard.Avalonia.TreeDataGrid@2.2.0.98
                    
#: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=MiniDashboard.Avalonia.TreeDataGrid&version=2.2.0.98
                    
Install as a Cake Addin
#tool nuget:?package=MiniDashboard.Avalonia.TreeDataGrid&version=2.2.0.98
                    
Install as a Cake Tool

MiniDashboard.Avalonia

Dashboard controls for Avalonia 12 applications. Choose free tile placement in a fixed grid with DashboardPanel (or the MVVM-friendly DashboardItemsPanel), or a dynamically editable matrix with DashboardMatrix — one content slot per cell, with insertable/removable rows and columns and proportional splitters. Both hosts share the same tile controls, content catalogs, and header styling.

Packages

  • MiniDashboard.Avalonia — dashboard hosts, content catalogs, and tile controls.
  • MiniDashboard.Avalonia.ScottPlot — optional chart tiles (ScatterPlotTile, SignalPlotTile, BarsPlotTile, PiePlotTile, and more).
  • MiniDashboard.Avalonia.TreeDataGrid — optional TreeDataGridTile and CsvGridTile; the underlying TreeDataGrid package may require an Avalonia UI license in consuming applications.
  • MiniDashboard.Avalonia.TreeDataGridOS — the same tiles backed by the MIT-licensed community fork. It is an alternative to the commercial package; do not reference both together.

Quick start

Install the core package:

dotnet add package MiniDashboard.Avalonia

Register the styles in App.axaml:

<Application xmlns="https://github.com/avaloniaui"
             xmlns:dashboard="clr-namespace:MiniDashboard.Avalonia.Themes;assembly=MiniDashboard.Avalonia">
    <Application.Styles>
        <FluentTheme />
        <dashboard:MiniDashboardStyles />
    </Application.Styles>
</Application>

Optional extension packages install the same way and add their own style includes (for example ScottPlotStyles or TreeDataGridStyles).

Basic usage

<dash:DashboardPanel xmlns:dash="clr-namespace:MiniDashboard.Avalonia;assembly=MiniDashboard.Avalonia"
                     Rows="6" Columns="8">
  <dash:TextTile GridX="0" GridY="0" GridW="2" GridH="2" TileHeader="Notes" Text="Drag me" />
  <dash:Tile GridX="2" GridY="0" GridW="3" GridH="2" TileHeader="Status">
    <StackPanel>
      <TextBlock Text="CPU" />
      <ProgressBar Minimum="0" Maximum="100" Value="57" />
    </StackPanel>
  </dash:Tile>
</dash:DashboardPanel>

Tiles place themselves with GridX, GridY, GridW, and GridH. Drag a tile by its header; resize it from the bottom-right grip when IsResizable is true. Overlapping moves resolve to a nearby free position, and colliding resizes shrink to fit. Grid properties support two-way binding, so layouts can be saved and restored from view models.

For view-model-driven dashboards, use DashboardItemsPanel with ItemsSource and DataTemplates; generated tiles keep full drag and resize behavior and bind common layout properties (Title, X, Y, Width, Height) by convention.

Matrix dashboards

DashboardMatrix hosts one content slot per cell. Rows and columns can be inserted, removed, and resized at runtime with native splitters; every structural change is cancellable and produces an immutable layout snapshot for persistence.

<dash:DashboardMatrix xmlns:dash="clr-namespace:MiniDashboard.Avalonia;assembly=MiniDashboard.Avalonia"
                      MinCellWidth="96" MinCellHeight="72" />
Matrix.ContentDefinitions = new DashboardContentDefinition[]
{
    new() { Id = "notes", Title = "Notes", Factory = () => new TextBox { AcceptsReturn = true } }
};
Matrix.SetContent(Matrix.Layout.Cells[0].Id, "notes");
Matrix.InsertColumnAfter(0); // splits column zero's weight in half
Matrix.InsertRowAfter(0);    // inserts across every column

Definition IDs are stable persistence keys. Handle LayoutChanging to veto changes (for example, confirm before removing occupied cells) and LayoutChanged to save the resulting snapshot.

Shared content

DashboardContentCatalog supplies fresh-control factories keyed by stable IDs. The same catalog works in both dashboards: assign it to DashboardMatrix.ContentDefinitions, or place DashboardContentTile instances in a classic dashboard. FromItems, FromTemplate, and FromTiles adapt existing model lists, data templates, and tile recipes. Both hosts offer cancellable content changes and opt-in disposal of generated controls.

Extensions

After registering the extension styles, use chart and grid tiles like any other tile:

<cartesian:ScatterPlotTile xmlns:cartesian="clr-namespace:MiniDashboard.Avalonia.ScottPlot.Cartesian;assembly=MiniDashboard.Avalonia.ScottPlot"
                           GridX="0" GridY="0" GridW="5" GridH="3"
                           TileHeader="Scatter" Ys="{Binding SimpleSeries}" />
<data:TreeDataGridTile xmlns:data="clr-namespace:MiniDashboard.Avalonia.TreeDataGrid;assembly=MiniDashboard.Avalonia.TreeDataGrid"
                       GridX="2" GridY="0" GridW="5" GridH="4"
                       TileHeader="People" Source="{Binding PeopleGridSource}" />

The core package also includes TextTile, ImageTile, and the read-only TableViewTile. Custom tiles derive from Tile and register styled properties as usual.

See the GitHub README for the full documentation: layout rules, persistence and snapshots, header customization, theming resources, and extension package notes.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  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
2.3.8.99 5 10/7/2026
2.3.5.99 53 10/7/2026
2.2.0.98 56 10/7/2026
1.0.0.17 360 9/17/2025