Xtreme.Components.Docking
0.1.0-preview.4
dotnet add package Xtreme.Components.Docking --version 0.1.0-preview.4
NuGet\Install-Package Xtreme.Components.Docking -Version 0.1.0-preview.4
<PackageReference Include="Xtreme.Components.Docking" Version="0.1.0-preview.4" />
<PackageVersion Include="Xtreme.Components.Docking" Version="0.1.0-preview.4" />
<PackageReference Include="Xtreme.Components.Docking" />
paket add Xtreme.Components.Docking --version 0.1.0-preview.4
#r "nuget: Xtreme.Components.Docking, 0.1.0-preview.4"
#:package Xtreme.Components.Docking@0.1.0-preview.4
#addin nuget:?package=Xtreme.Components.Docking&version=0.1.0-preview.4&prerelease
#tool nuget:?package=Xtreme.Components.Docking&version=0.1.0-preview.4&prerelease
Xtreme.Components.Docking
An IDE-style dock manager for Uno Platform, built from WinUI primitives only. Part of Xtreme.Components.
Full guide: docs/docking.md covers every option with samples.
Features
- Center document + edge panes.
DockItems dock to any edge; each edge holds layers stacked outward and slots side by side within a layer, with tab groups anywhere. - Drag with guides. Header and tab drags show edge markers and a document compass (inner and outer bands, insert before/after, tab into), with a shaded landing preview.
- Auto-hide. Pushpin collapses a pane to its edge rail; the flyout slides fully in and out.
Below a configurable width panes auto-unpin (
DockNarrowBehavior.AutoHide). - Float to an OS window. On Windows desktop a pane tears out into a real window and drags back
to re-dock; elsewhere (WASM, mobile, macOS, Linux) it stays in-surface. All of it goes through
IDockPlatformServices.Win32DockPlatformServicesis the shipped Windows implementation (window pool, owned windows, drag tracking, drag translucency), runtime-guarded so the same assembly runs everywhere; without it the host is docked-only. - Persistence. The whole layout (edges, layers, tab groups and their selected tab, ratios,
pinned/open state, floating windows and their bounds) is a versioned document saved through
IDockPersistence; closes are saved too, and the store can be assigned at any time. - Theme-aware. Follows
ActualThemelive; high-contrast palettes override through theXc*keys inXtreme.Components.Core.
Quick start
<Page xmlns:dock="using:Xtreme.Components.Docking.Controls">
<dock:DockHost PersistenceKey="Main">
<dock:DockHost.Document>
<TextBox AcceptsReturn="True" />
</dock:DockHost.Document>
<dock:DockItem Title="Explorer" Edge="Left" AllowFloat="True">
<TreeView />
</dock:DockItem>
<dock:DockItem Title="Properties" Edge="Right">
<ListView />
</dock:DockItem>
</dock:DockHost>
</Page>
Optional seams, each with a no-op default:
| Seam | Interface | What the app supplies |
|---|---|---|
| Layout persistence | IDockPersistence |
Load/save the layout document (local settings, a server, nothing) |
| OS windows | IDockPlatformServices |
Create and track floating windows, window pool, drag tracking |
Set them on the host: DockHost.Persistence and DockHost.PlatformServices.
// App.OnLaunched, once the main window exists:
var platform = new Win32DockPlatformServices { HostWindow = MainWindow };
host.PlatformServices = platform;
platform.CaptureShellWindowHandle(MainWindow.DispatcherQueue); // owned float windows
platform.PrimePoolWhenIdle(MainWindow.DispatcherQueue); // pre-built windows, off the click
Targets net10.0 only; the consuming Uno head supplies the renderer. MIT license.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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
- Uno.WinUI (>= 6.7.135)
- Xtreme.Components.Core (>= 0.1.0-preview.4)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Xtreme.Components.Docking:
| Package | Downloads |
|---|---|
|
Xtreme.Components
Every Xtreme.Components family in one reference: Core, Primitives, Scheduler, Docking, Cards and TableView. App-agnostic, primitive-only Uno Platform controls for Desktop, Android, iOS and WebAssembly. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-preview.4 | 89 | 10/15/2026 |
| 0.1.0-preview.3 | 61 | 10/14/2026 |
| 0.1.0-preview.2 | 66 | 10/14/2026 |
| 0.1.0-preview.1 | 51 | 10/14/2026 |