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:

  1. Quick start to build a minimal layout.
  2. Document and tool content guide for content setup.
  3. Framework integration to choose the MVVM stack that matches your app.

NuGet packages

NuGet Package Downloads
NuGet Dock.Avalonia Downloads
NuGet Dock.Avalonia.Diagnostics Downloads
NuGet Dock.Avalonia.Themes.Fluent Downloads
NuGet Dock.Avalonia.Themes.Simple Downloads
NuGet Dock.Controls.ProportionalStackPanel Downloads
NuGet Dock.Controls.Recycling Downloads
NuGet Dock.Controls.Recycling.Model Downloads
NuGet Dock.MarkupExtension Downloads
NuGet Dock.Model Downloads
NuGet Dock.Model.Avalonia Downloads
NuGet Dock.Model.CaliburMicro Downloads
NuGet Dock.Model.Inpc Downloads
NuGet Dock.Model.Mvvm Downloads
NuGet Dock.Model.Prism Downloads
NuGet Dock.Model.ReactiveProperty Downloads
NuGet Dock.Model.ReactiveUI Downloads
NuGet Dock.Model.ReactiveUI.Services Downloads
NuGet Dock.Model.ReactiveUI.Services.Avalonia Downloads
NuGet Dock.Serializer.Newtonsoft Downloads
NuGet Dock.Serializer.Protobuf Downloads
NuGet Dock.Serializer.SystemTextJson Downloads
NuGet Dock.Serializer.Xml Downloads
NuGet Dock.Serializer.Yaml Downloads
NuGet Dock.Settings Downloads

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.