# Dock and Layout Manager | WPF Controls | DevExpress Documentation

The [DevExpress WPF Dock Layout Manager](https://www.devexpress.com/products/net/controls/wpf/docking/) allows you to create Microsoft Visual Studio-inspired Dock Window interfaces.

![Dock Windows - Landing](/WPF/images/dock-layout-manager.png)

[Run Demo: Visual Studio Docking](dxdemo://Wpf/DXDocking/VisualStudioDockingDemo) [Read Tutorial: Get Started](/WPF/6820/controls-and-libraries/layout-management/dock-windows/getting-started/dock-layout-manager)

The [DockLayoutManager](/WPF/DevExpress.Xpf.Docking.DockLayoutManager) class includes APIs designed to implement dock-based user interfaces and construct the necessary control layout.

## Dock UI

The [DockLayoutManager](/WPF/DevExpress.Xpf.Docking.DockLayoutManager) allows you to layout individual controls within [docked panels](/WPF/7209/controls-and-libraries/layout-management/dock-windows/dock-items). 

![Dock Windows - Dock UI](/WPF/images/devexpress-wpf-docking-hd.png)

Refer to the following topic for more information on the available panels and groups: [Dock UI Items](/WPF/7209/controls-and-libraries/layout-management/dock-windows/dock-items).

Tip

If you only need to dock multiple simple panels to either side of your window and do not require advanced Visual Studio-like features (Bar/Ribbon Merging in MDI mode, Document Selector), use the [Dock Layout Control](/WPF/8149/controls-and-libraries/layout-management/tile-and-layout/dock-layout-control) instead.

### Multi-Document Interfaces (MDI)

You can use [document panels and groups](/WPF/7209/controls-and-libraries/layout-management/dock-windows/dock-items#documentgroup-and-documentpanel) to build MDI applications. Child documents can use a classic MDI layout or form a tabbed container.

If child windows include toolbar or Ribbon controls, **DockLayoutManager** can merge those commands into the parent window’s command bar. Refer to the following topics for additional information: 

- [MDI Bar Merging](/WPF/9155/controls-and-libraries/layout-management/dock-windows/mdi-bar-merging)
- [MDI Ribbon Merging](/WPF/10587/controls-and-libraries/ribbon-bars-and-menu/ribbon/features/mdi-ribbon-merging)

If using [Ribbons](/WPF/7895/controls-and-libraries/ribbon-bars-and-menu/ribbon) instead of traditional toolbars, refer to the following topic for more information: [MDI Ribbon Merging](/WPF/10587/controls-and-libraries/ribbon-bars-and-menu/ribbon/features/mdi-ribbon-merging).

![Dock Windows - Runtime](/WPF/images/dock-windows-runtime121890.png)

## Layout UI

The [DockLayoutManager](/WPF/DevExpress.Xpf.Docking.DockLayoutManager) allows you to layout controls within an individual [layout panel](/WPF/7223/controls-and-libraries/layout-management/dock-windows/layout-items). 

![WPF DockLayoutManager - Layout UI Items](/WPF/images/docklayoutmanager-visualelements-layout-items.png)

Refer to the following topic for more information on available layout UI items: [Layout UI Items](/WPF/7223/controls-and-libraries/layout-management/dock-windows/layout-items).

Tip

If you wish to create/layout your user interface without docked panels, consider the use of the DevExpress [Layout Control](/WPF/8085/controls-and-libraries/layout-management/tile-and-layout) instead.

## Layout Management in Panels

End-users can use [Customization Mode](/WPF/7223/controls-and-libraries/layout-management/dock-windows/layout-items#customization-mode) and the [Customization Window](/WPF/7223/controls-and-libraries/layout-management/dock-windows/layout-items#customization-window) to modify, save, and restore application layout at runtime.

![CustomizationWindow](/WPF/images/docking-customizationwindow.png)

## Built-in Document and Panel Selector

End-users can press hotkeys to quickly cycle through [layout](/WPF/DevExpress.Xpf.Docking.LayoutPanel) and [document panels](/WPF/7209/controls-and-libraries/layout-management/dock-windows/dock-items#documentgroup-and-documentpanel). Refer to the following topic for more information: [Document Selector](/WPF/7209/controls-and-libraries/layout-management/dock-windows/dock-items#document-selector).

![WPF DockLayoutManager - Document Selector](/WPF/images/docklayoutmanager-visualelements-documentselector.png)

## MVVM Support

Refer to the following topic to learn more about dock-based user interfaces and the MVVM architectural pattern: [MVVM Support - Bind to a Collection of Dock Panels](/WPF/11386/controls-and-libraries/layout-management/dock-windows/bind-to-a-collection-of-dock-panels).

## Save and Restore the Layout of Dock Panels and Controls

You can save the layout of dock panels alongside the layout of controls within panels/groups to a data store (an XML file or stream). Once saved, you can restore the layout from this data store as needs dictate.

Refer to the following topic for more information: [Save and Restore the Layout of Dock Panels and Controls](/WPF/7059/controls-and-libraries/layout-management/dock-windows/saving-and-restoring-the-layout-of-dock-panels-and-controls).

## Useful Resources

- [Dock Layout Manager: Get Started Topics](/WPF/6653/controls-and-libraries/layout-management/dock-windows/getting-started)

    - This section contains topics that explain the essential concepts of the Dock Windows interfaces.

- [Manage Dock Panels in Code](/WPF/15540/controls-and-libraries/layout-management/dock-windows/managing-dock-panels-in-code)

    - Describes how to perform various operations (create, remove, move, and so on) on dock panels in code.

- [Visual Elements](/WPF/6827/controls-and-libraries/layout-management/dock-windows/visual-elements)

    - This topic describes visual element types that are included in the [DockLayoutManager](/WPF/DevExpress.Xpf.Docking.DockLayoutManager) control.

- [Customize Appearance](/WPF/403610/controls-and-libraries/layout-management/dock-windows/appearance-customization)

    - This topic lists properties that you can use to customize the appearance of layout items.

- [Performance Enhancements](/WPF/401923/controls-and-libraries/layout-management/dock-windows/performance-enhancements)

    - This topic contains recommendations that help you to improve Dock Layout Manager performance.

- [WPF and WinForms Interoperation Limitations](/WPF/7551/controls-and-libraries/layout-management/dock-windows/wpf-and-winforms-interoperation-limitations)

    - Describes how to resolve possible issues when you import WinForms controls into WPF applications.

- [Examples](/WPF/6693/controls-and-libraries/layout-management/dock-windows/examples)

    - A set of detailed task-based examples.