WpfDocking 0.9.5.2
dotnet add package WpfDocking --version 0.9.5.2
NuGet\Install-Package WpfDocking -Version 0.9.5.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="WpfDocking" Version="0.9.5.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="WpfDocking" Version="0.9.5.2" />
<PackageReference Include="WpfDocking" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add WpfDocking --version 0.9.5.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: WpfDocking, 0.9.5.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package WpfDocking@0.9.5.2
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=WpfDocking&version=0.9.5.2
#tool nuget:?package=WpfDocking&version=0.9.5.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
WpfDocking
A lightweight WPF docking framework inspired by Visual Studio and VS Code.
Drop it into any WPF window — no IDE, no plugin host, zero external dependencies.
dotnet add package WpfDocking
Quick Start
1 — Add the namespace
<Window
xmlns:dock="clr-namespace:WpfHexEditor.Shell;assembly=WpfHexEditor.Docking.Wpf">
2 — Place the dock host
<dock:DockControl x:Name="DockHost" />
3 — Register a content factory and load a layout
using WpfHexEditor.Shell;
DockWorkspace.ContentFactory = new MyContentFactory();
await DockWorkspace.LoadLayoutAsync("layout.json");
4 — Add panels and documents programmatically
// Add a tool panel (left side)
DockHost.AddPanel(new MyToolPanel(), DockSide.Left);
// Add a document tab
DockHost.AddDocument(new MyDocument());
// Save layout
await DockWorkspace.SaveLayoutAsync("layout.json");
Features
Layout
- Panel docking: Left / Right / Top / Bottom / Center (tabbed)
- Document host with tab groups and split view
- Floating windows — undock any panel to a standalone window
- Auto-hide panels — collapse to edge bar, expand on hover
- Rounded corners with 3-mode dropdown (Sharp / Soft / Round) and live refresh
- JSON layout persistence (
DockLayoutSerializer)
Drag & Drop
- Drag-and-drop with VS-style overlay drop targets
- VS-like overlay gap and placement-aware tab styles
StaysOpen=trueon hover preview popup — Win32 mouse-capture no longer suppresses WPFMouseLeave
Theming
- Runtime theme switching (Dark / Light via
DynamicResource) - Light and Dark theme
ContextMenu— drop shadow, MDL2 icons, accent band - ScrollBar theming consistent across all panels
ClipToBoundsfix for docking panes inside custom layouts
Controls
DockGroupBadge— numeric badge overlay on panel tab headersDockControl— main containerDockWorkspace— layout/session manager
Accessibility
- Full UI Automation / MSAA support on all docking elements
Standalone Setup
No additional resource dictionary is required. The docking framework is self-contained.
For custom VS Code-style chrome (borderless window):
<Window WindowStyle="None">
<WindowChrome.WindowChrome>
<WindowChrome ResizeBorderThickness="4" CaptionHeight="32" />
</WindowChrome.WindowChrome>
<dock:DockControl x:Name="DockHost" />
</Window>
Included Assemblies
Both bundled inside the package — zero external NuGet dependencies:
| Assembly | Purpose |
|---|---|
| WpfHexEditor.Docking.Wpf | WPF chrome, panels, documents, drag-drop |
| WpfHexEditor.Docking.Core | Platform-agnostic layout engine (no WPF dependency) |
What's New in 0.9.5.2
- New:
DockGroupBadgecontrol — numeric badge overlay on panel tab headers. - New: Rounded corners — 3-mode dropdown (Sharp / Soft / Round) with live refresh.
- Fix:
StaysOpen=trueon hover preview popup — Win32 mouse-capture no longer suppresses WPFMouseLeaveevents, fixing auto-hide panel flicker. - Fix:
ClipToBoundsfix for docking panes inside custom layouts. - Fix: ScrollBar theming consistent across all docked panels.
- New: Light theme
ContextMenu— drop shadow, accent band, MDL2 icons. - New: Empty editor tab placeholders — panels can be opened before content is loaded.
What's New in 0.9.5.1
- VS-like overlay gap and placement-aware tab styles for document host.
- Hover preview popup stability improvements.
- Initial NuGet release.
License
GNU Affero General Public License v3.0 (AGPL-3.0)
Links
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0-windows7.0 is compatible. net9.0-windows was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0-windows7.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.