Edit:
, , ContentId LayoutDocument LayoutAnchorable. - , AvalonDock , DockingManager , , , .
, ContentId, AvalonDock, , Name . XAML- .
<StackPanel Orientation="Vertical">
<Button Content="Save"
Click="SaveButton_Click"/>
<Button Content="Load"
Click="LoadButton_Click"/>
<ad:DockingManager x:Name="myDM">
<ad:LayoutRoot>
<ad:LayoutPanel>
<ad:LayoutDocumentPane>
<ad:LayoutDocument Title="Document" ContentId="IHaveContent">
<TextBox />
</ad:LayoutDocument>
</ad:LayoutDocumentPane>
</ad:LayoutPanel>
<ad:LayoutRoot.LeftSide>
<ad:LayoutAnchorSide>
<ad:LayoutAnchorGroup>
<ad:LayoutAnchorable Title="Left">
<TextBox x:Name="IAmTextBoxContent"/>
</ad:LayoutAnchorable>
</ad:LayoutAnchorGroup>
</ad:LayoutAnchorSide>
</ad:LayoutRoot.LeftSide>
</ad:LayoutRoot>
</ad:DockingManager>
</StackPanel>
" ", , ContentId, .
<?xml version="1.0" encoding="utf-8"?>
<LayoutRoot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<RootPanel Orientation="Horizontal">
<LayoutDocumentPane>
<LayoutDocument Title="Document"
IsSelected="True"
IsLastFocusedDocument="True"
ContentId="IHaveContent"
LastActivationTimeStamp="04/17/2013 09:13:35" />
</LayoutDocumentPane>
</RootPanel>
<TopSide />
<RightSide />
<LeftSide>
<LayoutAnchorGroup>
<LayoutAnchorable AutoHideMinWidth="100"
AutoHideMinHeight="100"
Title="Left"
ContentId="IAmTextBoxContent" />
</LayoutAnchorGroup>
</LeftSide>
<BottomSide />
<FloatingWindows />
<Hidden />
</LayoutRoot>
, , , , , e AvalonDock Model ( ), ContentId , Content ( - ContentId Model).
s XmlLayoutSerializer, DockingManager, , .
:
, AvalonDock, , - ( ), .
, , LayoutSerializer. , , .
layoutSerializer.LayoutSerializationCallback += (s, e) =>
{
object o = e.Content;
};