a modern docking windows approach for WPF
(click to image to watch library in action or action before the second action)
add namespace as shown
xmlns:netdock="clr-namespace:NetDock;assembly=NetDock"
create surface for docking
<netdock:DockSurface x:Name="dockSurface"></netdock:DockSurface>
you can add your dock contents programmatically
var item = new DockItem(yourCustomWpfUserControl)
{
TabName = "tab & window title"
};
dockSurface.Add(item , DockDirection.Bottom);
for windows, use dock item with DockWindow
DockItem item = GetMyDockItem();
var win = new DockWindow(item);
// win.Show() or some other action etc