Thanks to visit codestin.com
Credit goes to github.com

Skip to content

wieslawsoltes/Dock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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
  • 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: netstandard2.0, net6.0, net8.0, net10.0 for libraries and samples:

dotnet build src/Dock.Avalonia/Dock.Avalonia.csproj -c Release -f netstandard2.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

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.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

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

Resources

  • Documentation index

  • Sample applications can be found under the samples directory which illustrate each approach in a working project:

    • DockXamlSample - XAML layouts with ItemsSource examples
    • DockMvvmSample - Full MVVM implementation
    • DockReactiveUISample - ReactiveUI patterns
    • DockOfficeSample - Office-style workspaces with ReactiveUI navigation
    • DockCodeOnlySample - Pure C# layouts
    • Notepad - Real-world text editor example
    • VisualStudioDemo - Visual Studio-like interface
    • And many more specialized examples
  • GitHub source code repository.

License

Dock is licensed under the MIT license.