Dock.Settings
12.0.0
dotnet add package Dock.Settings --version 12.0.0
NuGet\Install-Package Dock.Settings -Version 12.0.0
<PackageReference Include="Dock.Settings" Version="12.0.0" />
<PackageVersion Include="Dock.Settings" Version="12.0.0" />
<PackageReference Include="Dock.Settings" />
paket add Dock.Settings --version 12.0.0
#r "nuget: Dock.Settings, 12.0.0"
#:package Dock.Settings@12.0.0
#addin nuget:?package=Dock.Settings&version=12.0.0
#tool nuget:?package=Dock.Settings&version=12.0.0
Dock
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) - Deferred Content Materialization: Defer expensive content presenter work with shared or scoped timelines, per-host delay, and explicit ordering
- 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
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
Install-Package Dock.Controls.DeferredContentControl
Available NuGet packages:
Nightly Packages
Nightly builds are published to GitHub Packages on pushes to master. Versions use the nightly.YYYYMMDD.RUN suffix.
Add the GitHub Packages source (replace OWNER with the repository owner):
https://nuget.pkg.github.com/OWNER/index.json
Authenticate with a GitHub token that has read:packages:
dotnet nuget add source https://nuget.pkg.github.com/wieslawsoltes/index.json -n github -u YOUR_GITHUB_USERNAME -p YOUR_GITHUB_TOKEN --store-password-in-clear-text
Install pre-release packages:
Install-Package Dock.Avalonia -Pre
Install-Package Dock.Model.Mvvm -Pre
Install-Package Dock.Serializer.Newtonsoft -Pre
Install-Package Dock.Avalonia.Themes.Fluent -Pre
Install-Package Dock.Avalonia.Themes.Browser -Pre
Resources
Sample applications can be found under the samples directory which illustrate each approach in a working project:
DockXamlSample- XAML layouts with ItemsSource examplesDockMvvmSample- Full MVVM implementationDockReactiveUISample- ReactiveUI patternsDockDeferredContentSample- Deferred timeline scopes, delay, order, and presenter-host behaviorDockOfficeSample- Office-style workspaces with ReactiveUI navigationDockCodeOnlySample- Pure C# layoutsNotepad- Real-world text editor exampleVisualStudioDemo- Visual Studio-like interface- And many more specialized examples
License
Dock is licensed under the MIT license.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Avalonia (>= 12.0.0)
- Dock.Model (>= 12.0.0)
-
net8.0
- Avalonia (>= 12.0.0)
- Dock.Model (>= 12.0.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Dock.Settings:
| Package | Downloads |
|---|---|
|
Dock.Avalonia
A docking layout system. |
|
|
Dock.Model.Avalonia
A docking layout system. |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on Dock.Settings:
| Repository | Stars |
|---|---|
|
uxmal/reko
Reko is a binary decompiler.
|
| Version | Downloads | Last Updated |
|---|---|---|
| 12.0.0 | 20 | 4/8/2026 |
| 12.0.0-preview.1 | 71 | 4/7/2026 |
| 11.3.12-preview.1 | 40 | 4/7/2026 |
| 11.3.11.22 | 3,321 | 3/12/2026 |
| 11.3.11.21 | 388 | 3/12/2026 |
| 11.3.11.20 | 1,945 | 3/10/2026 |
| 11.3.11.19 | 365 | 3/10/2026 |
| 11.3.11.18 | 528 | 3/9/2026 |
| 11.3.11.17 | 614 | 3/6/2026 |
| 11.3.11.16 | 4,455 | 2/24/2026 |
| 11.3.11.15 | 406 | 2/24/2026 |
| 11.3.11.14 | 2,373 | 2/19/2026 |
| 11.3.11.13 | 1,173 | 2/12/2026 |
| 11.3.11.12 | 358 | 2/11/2026 |
| 11.3.11.11 | 602 | 2/10/2026 |
| 11.3.11.10 | 336 | 2/10/2026 |
| 11.3.11.9 | 797 | 2/10/2026 |
| 11.3.11.8 | 661 | 2/9/2026 |
| 11.3.11.7 | 4,577 | 2/9/2026 |
| 11.3.11.6 | 809 | 2/5/2026 |