All projects

Docking workspace system

Dock

Composable workspaces for serious desktop applications.

StatusActive
TierFlagship
DomainControls
Repositorywieslawsoltes/Dock

A complete docking layout system for Avalonia 11 and 12 with floating windows, ItemsSource documents, deferred and cached content, serialization, theming, and multiple MVVM integrations.

Dock separates workspace models from Avalonia presentation. Factories and ItemsSource collections create documents and tools; themes, deferred materialization, and optional content caching control presentation; serializers preserve the result across sessions and application architectures.

01

ItemsSource documents, tool panes, and floating windows

02

Deferred materialization and optional tab content caching

03

JSON, XML, YAML, and Protobuf layouts

04

MVVM, ReactiveUI, Prism, ReactiveProperty, and dependency injection

Where it fits.

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

Current packages

Avalonia 11

Source-linked package lane

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…