Hi,
How to implement Layout Serialization for the multiple Docksites ?
For Example: My layout of the shell.xaml is like
<Grid Name="shellGrid">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<ContentControl Grid.Row="0" x:Name="ContentControl 1"></ContentControl>
<docking:DockSite Grid.Row="1" x:Name="Docksite1" > </docking:DockSite>
<docking:DockSite Grid.Row="2" x:Name="Docksite2"> </docking:DockSite>
<docking:DockSite Grid.Row="3">
<docking:ToolWindowContainer>
<docking:ToolWindow >
<docking:DockSite Background="#6682b0"CanToolWindowsAttach="False"UseHostedAutoHidePopups="False"x:Name="BaseDocksite1">
<docking:Workspace>
<docking:DockSite UseHostedAutoHidePopups="False"Background="#6682b0"x:Name="BaseDocksite2">
<docking:Workspace>
<Grid Name="ReviewUIGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<docking:DockSite VerticalAlignment="Top"Grid.Column="1"AllowDrop="True" CanDocumentWindowsRaft="False"x:Name="InnerDocksite1" >
</docking:DockSite>
<docking:DockSite VerticalAlignment="Top"Grid.Column="0" AllowDrop="True" CanDocumentWindowsRaft="False"x:Name="InnerDocksite2" >
</docking:DockSite>
<ContentControlBackground="#6682b0"Grid.Column="2"x:Name="ContentControl3"></ContentControl>
</Grid>
</docking:WorkSpace>
</docking:Docksite>
</docking:WorkSpace>
</docking:Docksite>
</docking:ToolWindow>
</docking:ToolWindowContainer>
</docking:Docksite>
</Grid>
Above Layout consists of Following things.
1:Combination of the Wpf Content Controls as well as the Actipro Docksites.
2. Multiple Docksites with in the Grid.Each Docksite will be registered with the single toolwindow.
3.Window inside the window Hirarchy is used as the Row 3 in the above layout.
4. As per the Row 3 of the above Layout,Workspaces used for the individual windows.Means InnerDocksite1 Toolwindow is Linked to the BaseDocksite1 so we can move the InnerDocksite1 Toolwindow to the BaseDocksite1 Workspace.Similarly InnerDocksite2 Toolwindow is Linked to the BaseDocksite2 so we can move the InnerDocksite2 Toolwindow to the BaseDocksite2 Workspace
As per the above Layout according to the Different Docksites for the Different Toolwindows.
As all th usercontrols will be loaded as the toolwindows in the corresponding docksite with the help of PrismIntegration with Docking.
So as i run the application,Toolwindows will be displayed in their Docksite and when i drag the toolwindow inside InnerDocksite1 and move it to BaseDocksite1 and then i drag the toolwindow inside InnerDocksite2 and move it to BaseDocksite2.
And Now as i close the application ,Layout should be save in the XML and when i again run the application,it should load the saved Layout and Display the Toolwindows as in the Last Docked state when they were closed and other control should be displayed as same as it was pervieious loaded.