Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

Move Panels Between DockLayoutManager Instances

Run Demo: Dock Layout Manager - Drag Panels Between Dock Managers Demo

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

<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);

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.

#Limitation

You cannot drag DockLayoutManager panels between different applications/threads.

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);