SkillAgentSearch skills...

Dock

A docking layout system.

Install / Use

/learn @wieslawsoltes/Dock

README

Dock

Gitter

Build Status CI

NuGet NuGet MyGet

A docking layout system.

About

Dock is a docking layout system for Avalonia applications. Use of Dock is governed by the MIT License.

Key Features:

  • ItemsSource Support: Bind document collections directly to DocumentDock for automatic document management
  • Flexible Content Templates: Use DocumentTemplate for customizable document content rendering
  • Optional Document Content Caching: Keep document views alive across tab switches via theme option (CacheDocumentTabContent)
  • Multiple MVVM Frameworks: Support for ReactiveUI, Prism, ReactiveProperty, and standard MVVM patterns
  • Comprehensive Serialization: Save and restore layouts with multiple format options (JSON, XML, YAML, Protobuf)
  • Rich Theming: Fluent and Simple themes with full customization support
  • Floating Windows: Detach documents and tools into separate windows
  • Dependency Injection: First-class support for .NET DI containers

Dock

Building Dock

First, clone the repository or download the latest zip.

git clone https://github.com/wieslawsoltes/Dock.git

Build using .NET Core

Open up a terminal prompt and execute the commands.

Target frameworks: libraries multi-target net6.0, net8.0, and net10.0. Samples target net10.0 unless noted otherwise.

dotnet build src/Dock.Avalonia/Dock.Avalonia.csproj -c Release -f net10.0

Alternatively execute the repository build script which restores, builds and tests all projects. The scripts work on Windows and Unix like systems:

./build.sh       # or .\build.cmd on Windows

NuGet

Dock is delivered as a NuGet package.

You can find the packages here NuGet and install the package like this:

Install-Package Dock.Avalonia
Install-Package Dock.Model.Mvvm
Install-Package Dock.Serializer.Newtonsoft
Install-Package Dock.Avalonia.Themes.Fluent
Install-Package Dock.Avalonia.Themes.Browser

Available NuGet packages:

| NuGet | Package | Downloads | | --- | --- | --- | | NuGet | Dock.Avalonia | Downloads | | NuGet | Dock.Avalonia.Diagnostics | Downloads | | NuGet | Dock.Avalonia.Themes.Fluent | Downloads | | NuGet | Dock.Avalonia.Themes.Browser | 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](https://img.shields.io/nuget/dt/Dock.Serial

View on GitHub
GitHub Stars1.4k
CategoryDevelopment
Updated4h ago
Forks146

Languages

C#

Security Score

100/100

Audited on Mar 27, 2026

No findings