The WPF Docking Manager (DockPanel) control provides an interface to create Visual Studio-like dockable windows in your applications. Dock panels support many interactions like docking, floating, tabbing, autohiding and grouping document tabs. Tab groups split the workspace and allow users to work with two or more open documents. Users can resize, move, and change the behavior of windows to create a layout that suits various development models.
Data Binding is the process of establishing a connection between the application UI and business logic. Data binding can be unidirectional or bidirectional. The WPF Docking Window has data-binding support to work with popular data sources like SQL Server, Oracle, data tables, and more..
Dockable windows can be dragged by users, can float around the screen, and be pinned and unpinned by users. As in Visual Studio, Docking Manager offers different kinds of windows:
In the auto-hide state, tool windows display tabs along the tray area on the side of their dock host. The content of the corresponding tool window is displayed in an animated popup when a tab is clicked.
Users can close windows interactively through the close option in the UI. Close the active window alone or all tabbed windows.
Users can interactively resize windows using a splitter between windows. Restrict resizing to minimum and maximum sizes for views.
Display the dock windows in maximized view to get more readability and restore interactively.
The WPF Docking Manager control allows you to turn on or off the option to show a window’s contents while dragging it. When it is set off, a transparent dragging visual effect is used.
Snap the float windows and move them together. Separate the snapped float windows by pressing the CTRL key and dragging the float window away from the group.
End users can restrict windows to docking on specific sides of the target dock windows or edges of a form. They can customize the dock hints’ visibility to show dock hints only on a specific side.
Built-in redock support saves the previous state of dock or float windows and moves the windows to previous dock or float states after double-clicking on a caption.
Bring the overflow tabs into view through scroll options in the UI. Scroll to the next, previous, first, or last tabs.
Display docking guides to indicate the valid drop location for docking panels while dragging the float window. Also customize the appearance of the docking guides.
The MDI and TDI functionalities are applicable for the Document window in the DockingManager. So you can change Document window as both Multiple Document Interface and Tabbed Document Interface.
Allows multiple windows to reside under a single parent window in the Docking Manager.
Allows adding a child window as a document tab in the Docking Manager.
The WPF Docking Manager control provides the support to improve the user experience with a built-in context menu. It helps users to float, close, pin, and move the dock window to a tabbed document and more.
Hide the visibility of a dock window caption to make the dock window appearance a flat panel.
Built-in serialization options support saving a dock layout upon closing and restoring it upon opening the application in different formats.
Users can create nested docking layouts with docked windows inside other docked windows, or directly dock them to the main form.
Easily drag the child windows from one docking manager to another by linking different docking managers together.
Customize the style of each part of the WPF Docking Manager, such as its dock window header style and tabs styles. Use a rich set of built-in themes inspired by popular interfaces such as Visual Studio, Microsoft Office, and Expression Blend.
The WPF Docking Manager supports localization to translate the static text to any supported language.
Right-to-left (RTL) direction setting is available for users working in right-to-left languages like Hebrew, Arabic, or Persian.
Easily get started with the WPF Docking Window using a few simple lines of XAML and C# code example as demonstrated below. Also explore our WPF Docking Manager Example that shows you how to render and configure the docking window in WPF.
<syncfusion:DockingManager x:Name="dockingManager">
<ContentControl x:Name="SolutionExplorer"/>
<ContentControl x:Name="ToolBox"/>
<ContentControl x:Name="Properties"/>
<ContentControl x:Name="Output"/>
<ContentControl x:Name="StartPage"/>
</syncfusion:DockingManager>
using System.Windows;
using Syncfusion.Windows.Tools.Controls;
namespace DockingManager_SampleWpfApp1
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DockingManager dockingManager = new DockingManager();
ContentControl SolutionExplorer = new ContentControl();
ContentControl ToolBox = new ContentControl();
ContentControl Properties = new ContentControl();
ContentControl Output = new ContentControl();
ContentControl StartPage = new ContentControl();
//Add content controls as child of DockingManager
dockingManager.Children.Add(SolutionExplorer);
dockingManager.Children.Add(ToolBox);
dockingManager.Children.Add(Properties);
dockingManager.Children.Add(Output);
dockingManager.Children.Add(StartPage);
this.Content = dockingManager;
}
}
}
Syncfusion WPF Docking provides the following:
No, this is a commercial product and requires a paid license. However, a free community license is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue, 5 or fewer developers, and 10 or fewer total employees.
A good place to start would be our comprehensive getting started documentation.
Greatness—it’s one thing to say you have it, but it means more when others recognize it. Syncfusion is proud to hold the following industry awards.