An anchorable is typically the container of application controls and can be dragged away from its container pane (LayoutAnchorablePane) and repositioned into another pane. Anchorables are always contained in a pane, which can be either a LayoutAnchorablePane or a LayoutDocumentPane, whereas documents (class LayoutDocument) can only be contained in a LayoutDocumentPane.
Anchorables can also be dragged to a border of the parent DockingManager, which causes them to appear above, below, to the left of, or to the right of all other anchorables or documents (except for autohide windows). They can also be left in a floating window (LayoutAnchorableFloatingWindow).
Unlike documents, anchorables can autohide, where their content collapses to one side of the docking manager and is represented only by a tab (see LayoutAnchorSide and LayoutAnchorGroup).
The View is represented by the classes contained in the Xceed.Wpf.AvalonDock.Controls namespace; these classes are a set of stylizable controls that show the user controls. The names of the view controls typically end with "Control" (for example, LayoutAnchorableControl is the view control, whereas LayoutAnchorable is the model element).
The DockingManager uses various classes (such as the LayoutItem and its derived classes) to perform the role of the ViewModel, preparing the model to be consumed by the view.
There is one and only one logical tree, which has the DockingManager as its root. Even if a control is placed in a different window (i.e., autohidden windows or floating windows), it always belong to the same logical tree below the DockingManager.
Example
The following shows how to set up several anchorables and documents, as well as autohidden anchorables on the left side of the DockingManager.
<xcad:DockingManagerGrid.Row="1"MaxHeight="425"AllowMixedOrientation="True"BorderBrush="Black"BorderThickness="1"><xcad:DockingManager.DocumentHeaderTemplate><DataTemplate><StackPanelOrientation="Horizontal"><ImageSource="{Binding IconSource}"Margin="0,0,4,0"/><TextBlockText="{Binding Title}"/></StackPanel></DataTemplate></xcad:DockingManager.DocumentHeaderTemplate><xcad:LayoutRootx:Name="_layoutRoot"><xcad:LayoutPanelOrientation="Horizontal"><xcad:LayoutAnchorablePaneDockWidth="200"><xcad:LayoutAnchorableContentId="properties"Title="Properties"CanHide="False"CanClose="False"AutoHideWidth="240"IconSource="../Images/property-blue.png"><xctk:PropertyGridNameColumnWidth="110"SelectedObject="{Binding ElementName=_layoutRoot, Path=LastFocusedDocument.Content}"/></xcad:LayoutAnchorable></xcad:LayoutAnchorablePane><xcad:LayoutDocumentPaneGroup><xcad:LayoutDocumentPane><xcad:LayoutDocumentContentId="document1"Title="Document 1"IconSource="../Images/document.png"><ButtonContent="Document 1 Content"HorizontalAlignment="Center"VerticalAlignment="Center"/></xcad:LayoutDocument><xcad:LayoutDocumentContentId="document2"Title="Document 2"IconSource="../Images/document.png"><TextBoxText="Document 2 Content"AcceptsReturn="True"/></xcad:LayoutDocument></xcad:LayoutDocumentPane></xcad:LayoutDocumentPaneGroup>
<xcad:LayoutAnchorablePaneGroupDockWidth="125"><xcad:LayoutAnchorablePane><xcad:LayoutAnchorableContentId="alarms"Title="Alarms"IconSource="../Images/alarm-clock-blue.png"><ListBox><s:String>Alarm 1</s:String><s:String>Alarm 2</s:String><s:String>Alarm 3</s:String></ListBox></xcad:LayoutAnchorable><xcad:LayoutAnchorableContentId="journal"Title="Journal"><RichTextBox><FlowDocument><ParagraphFontSize="14"FontFamily="Segoe">
This is the content of the Journal Pane.
<LineBreak/>
A
<Bold>RichTextBox</Bold> has been added here
</Paragraph></FlowDocument></RichTextBox></xcad:LayoutAnchorable></xcad:LayoutAnchorablePane></xcad:LayoutAnchorablePaneGroup></xcad:LayoutPanel><xcad:LayoutRoot.LeftSide><xcad:LayoutAnchorSide><xcad:LayoutAnchorGroup><xcad:LayoutAnchorableTitle="Agenda"ContentId="agenda"IconSource="../Images/address-book-open.png"><TextBlockText="Agenda Content"Margin="10"FontSize="18"FontWeight="Black"TextWrapping="Wrap"/></xcad:LayoutAnchorable><xcad:LayoutAnchorableTitle="Contacts"ContentId="contacts"IconSource="../Images/address-book--pencil.png"><TextBlockText="Contacts Content"Margin="10"FontSize="18"FontWeight="Black"TextWrapping="Wrap"/></xcad:LayoutAnchorable></xcad:LayoutAnchorGroup></xcad:LayoutAnchorSide></xcad:LayoutRoot.LeftSide></xcad:LayoutRoot></xcad:DockingManager>
Target Platforms: Windows 11, Windows 10, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2