Dock for Avalonia
Dock is a docking layout system for Avalonia applications. It provides document and tool panes, floating windows, docking targets, and layout persistence, with multiple MVVM integrations and both XAML and code-first layout options.
Highlights
- Document and tool docking with configurable rules.
- Floating windows, docking targets, and drag behaviors.
- Layout persistence and restoration.
- Theme support and overlay customization.
- Integrations for MVVM, ReactiveUI, Prism, and more.
Architecture
Dock separates the model from the view:
- Dock.Model defines layout state, docking rules, and serialization.
- Dock.Avalonia provides the Avalonia controls and visual behavior.
- Framework integrations add view model bases and patterns for common MVVM stacks.
This design keeps the layout engine reusable and lets you swap view models or frameworks without rewriting docking logic.
Install
dotnet add package Dock.Avalonia
dotnet add package Dock.Model.Mvvm
dotnet add package Dock.Avalonia.Themes.Fluent
Get started
Recommended path:
- Quick start to build a minimal layout.
- Document and tool content guide for content setup.
- Framework integration to choose the MVVM stack that matches your app.
NuGet packages
Documentation
Samples
GitHub
Dock is developed in the open. Visit the repository for source code, issues, and contributions: Dock on GitHub.
License
Dock is licensed under the MIT License.