A document is content that can be hosted only in a LayoutDocumentPane. This contrasts with the behavior of LayoutAnchorable, which can be hosted both in a LayoutDocumentPane and a LayoutAnchorablePane. Also, unlike anchorables, documents can't be anchored to a DockingManager border and can't be autohidden: they can only be positioned into a LayoutDocumentPane or floated in a LayoutDocumentFloatingWindow.
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 use documents, as well as various other elements.
<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>
Gets or sets whether the content can be closed definitively (removed from the layout and not just hidden). (Inherited from Xceed.Wpf.AvalonDock.Layout.LayoutContent)
Gets or sets if the LayoutDocument/LayoutAnchorable can use the toggle pin button when placed in a LayoutDocumentPane. (Inherited from Xceed.Wpf.AvalonDock.Layout.LayoutContent)
Gets or sets the height that will be initially used when the content is dragged and then displayed in a floating window. (Inherited from Xceed.Wpf.AvalonDock.Layout.LayoutContent)
Gets or sets the width that will be initially used when the content is dragged and then displayed in a floating window. (Inherited from Xceed.Wpf.AvalonDock.Layout.LayoutContent)
Compares the content of the current instance with the content of the specified object. If it the content cannot be compared, the titles are compared. (Inherited from Xceed.Wpf.AvalonDock.Layout.LayoutContent)
Modifies the pin status of the LayoutDocument/LayoutAnchorable from unpinned to pinned (or vice-versa) in a LayoutDocumentPane. (Inherited from Xceed.Wpf.AvalonDock.Layout.LayoutContent)
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