Move Panels Between DockLayoutManager Instances

Use the DockLayoutManagerLinker.Link method to link two DockLayoutManager instances. The link allows you to drag and drop panels between DockLayoutManager instances within one application domain.

NOTE

You cannot drag DockLayoutManager panels between different applications.

<dxdo:DockLayoutManager x:Name="dockLayoutManagerTop" DockPanel.Dock="Top" FloatingMode="Desktop">
    <!--...-->
</dxdo:DockLayoutManager>
<dxdo:DockLayoutManager x:Name="dockLayoutManagerBottom" DockPanel.Dock="Bottom" FloatingMode="Desktop">
    <!--...-->
</dxdo:DockLayoutManager>
DockLayoutManagerLinker.Link(dockLayoutManagerTop, dockLayoutManagerBottom);

DockLayoutManagerLinker Linked Instances Drag Drop

NOTE

The linked DockLayoutManager instances should have the same FloatingMode property value.

If you link several DockLayoutManager controls and save/restore the layout for them, item names within all these controls must be unique.

Use the DockLayoutManagerLinker.Unlink method to remove a link between two DockLayoutManager instances.

DockLayoutManagerLinker.Unlink(dockLayoutManagerTop, dockLayoutManagerBottom);

Link DockLayoutManager instances to drag and drop panels between these instances.

<dxdo:DockLayoutManager x:Name="dockLayoutManagerTop" DockPanel.Dock="Top" FloatingMode="Desktop">
    <!--...-->
</dxdo:DockLayoutManager>
<dxdo:DockLayoutManager x:Name="dockLayoutManagerBottom" DockPanel.Dock="Bottom" FloatingMode="Desktop">
    <!--...-->
</dxdo:DockLayoutManager>
<dxdo:DockLayoutManager x:Name="dockLayoutManagerRight" DockPanel.Dock="Right" FloatingMode="Desktop">
    <!--...-->
</dxdo:DockLayoutManager>
DockLayoutManagerLinker.Link(dockLayoutManagerTop, dockLayoutManagerBottom);
DockLayoutManagerLinker.Link(dockLayoutManagerTop, dockLayoutManagerRight);
DockLayoutManagerLinker.Link(dockLayoutManagerBottom, dockLayoutManagerRight);