HopDev.Tree.Web
2.0.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package HopDev.Tree.Web --version 2.0.0
NuGet\Install-Package HopDev.Tree.Web -Version 2.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="HopDev.Tree.Web" Version="2.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="HopDev.Tree.Web" Version="2.0.0" />
<PackageReference Include="HopDev.Tree.Web" />
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 HopDev.Tree.Web --version 2.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: HopDev.Tree.Web, 2.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 HopDev.Tree.Web@2.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=HopDev.Tree.Web&version=2.0.0
#tool nuget:?package=HopDev.Tree.Web&version=2.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
HopDev.Tree
A cross-platform hierarchical tree control for .NET MAUI, Avalonia, WPF, and Blazor with built-in database persistence, CRUD operations, drag-and-drop, search, checkboxes, accessibility, and localization.
Key Features
- Items within nodes — dual entity model (folders + items) in a single tree
- Database-first — built-in EF Core persistence (SQLite, SQL Server, PostgreSQL, MySQL, Oracle)
- 4 platforms, 1 ViewModel — shared
TreeViewModelacross MAUI, Avalonia, WPF, and Blazor - Built-in CRUD — add/rename/delete via context menus with validation hooks
- Drag-and-drop — internal reorder + external drop support
- Search — highlight and filter modes, scoped to nodes/items/both, with next/previous navigation
- Checkboxes — three-state, cascading, scoped, with database persistence
- Theming — Light, Dark, High Contrast, System, per-control theming, 15 color tokens
- Accessibility — MAUI SemanticProperties, Avalonia AutomationProperties, Blazor ARIA (15+ attributes), AutomationIds
- Localization — 22 strings via
ITreeStringProvider, runtime language switch, RTL support, 6 sample languages - Font tokens —
TreeFontSize,TreeFontFamily,KioskFontScale - Kiosk mode — touch-optimized with larger hit targets
- ILogger integration — structured logging with 4 severity levels and exception capture
Solution Structure
HopDev.Tree.slnx
├── src/
│ ├── HopDev.Tree.Core Core models, enums, abstractions
│ ├── HopDev.Tree.UI Shared ViewModels, services, business logic
│ ├── HopDev.Tree.EntityFramework EF Core repositories and unit of work
│ ├── HopDev.Tree.EntityFramework.* Provider packages (Sqlite, SqlServer, PostgreSql, MySql, Oracle)
│ ├── HopDev.Tree.Maui .NET MAUI tree control
│ ├── HopDev.Tree.Avalonia Avalonia tree control
│ ├── HopDev.Tree.Wpf WPF tree control
│ └── HopDev.Tree.Web Blazor tree control
├── samples/
│ ├── HopDev.Tree.Sample MAUI sample app
│ ├── HopDev.Tree.Avalonia.Sample Avalonia sample app
│ └── HopDev.Tree.Wpf.Sample WPF sample app
├── tests/
│ └── HopDev.Tree.Tests 397 unit tests
└── docs/ Architecture, API, guides, ADRs, designs
Quick Start
MAUI
<ct:TreeControl x:Name="TreeControl"
HierarchyName="MyApp"
SubsystemName="Documents" />
TreeControl.Initialize(unitOfWork, actions);
await TreeControl.LoadAsync();
Avalonia
<tree:TreeControl x:Name="TreeControl" />
TreeControl.Initialize(unitOfWork, actions);
await TreeControl.LoadAsync();
Blazor
<TreeControl HierarchyName="MyApp" SubsystemName="Documents"
UnitOfWork="@unitOfWork" Actions="@actions" />
License
MIT
WPF
<tree:TreeControl x:Name="TreeControl" />
TreeControl.Initialize(unitOfWork, actions);
await TreeControl.LoadAsync();
| Product | Versions 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.
-
net10.0
- CommunityToolkit.Mvvm (>= 8.4.0)
- HopDev.Tree.Core (>= 2.0.0)
- HopDev.Tree.EntityFramework (>= 2.0.0)
- HopDev.Tree.EntityFramework.Oracle (>= 2.0.0)
- HopDev.Tree.EntityFramework.PostgreSql (>= 2.0.0)
- HopDev.Tree.EntityFramework.Sqlite (>= 2.0.0)
- HopDev.Tree.EntityFramework.SqlServer (>= 2.0.0)
- HopDev.Tree.UI (>= 2.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.