All projects

Docking workspace system

Dock

Composable workspaces for serious desktop applications.

StatusActive
TierFlagship
DomainControls
Repositorywieslawsoltes/Dock

A complete docking layout system for Avalonia with floating windows, serialization, theming, and multiple MVVM integrations.

Dock separates workspace models from Avalonia presentation. Factories create document and tool layouts, themes render them, and serializers preserve them across sessions and application architectures.

01

Documents and tool panes

02

Floating windows

03

JSON, XML, YAML, and Protobuf layouts

04

MVVM, ReactiveUI, and Prism

Where it fits.

  • IDE and engineering-tool authors
  • Desktop apps with document/tool workspaces
  • MVVM teams needing serializable layouts
Avalonia

Supported

MVVM

Supported

ReactiveUI / Prism

Integrations

AOT

Model dependent

Real output,
not a mockup.

Dock sample application with documents and tool panes
A complete Dock workspace with documents, tools, tabs, and split regions.
Dock GUI sample
Workspace composition is model-driven and themeable.

Clear layers.
Replaceable seams.

01

Model

Framework-neutral docks, documents, tools, factories, and commands.

02

View

Avalonia controls, presenters, drag indicators, and floating windows.

03

Theme

Fluent, Simple, and community styling packages.

04

Persistence

JSON, XML, YAML, and Protobuf layout serialization.

7 modelsintegration choices
4 formatslayout serialization
Floatingnative tool windows
LiveGitHub metadata

One repository.
Multiple serious systems.

Explore the focused capabilities, their package boundaries, architecture, installation, and smallest useful example.

From package
to first frame.

Choose the package workflow used by your repository, then start from the smallest working example. Replace VERSION with the current stable or prerelease version shown on NuGet.

01 · Install
Terminal
dotnet add package Dock.Avalonia
dotnet add package Dock.Model.Mvvm
dotnet add package Dock.Avalonia.Themes.Fluent
02 · Use · xml
MainWindow.axaml
<dock:DockControl Layout="{Binding Layout}"
Factory="{Binding Factory}" />

Start focused.
Compose as needed.

The repository is the source of truth.

Use the current documentation and samples, inspect changes, report issues, or support continued open-source maintenance.

XAML Behaviors

Search everything.

Loading the index…

move open esc close

Preparing metadata and full-text search…