I am unable to drag a Docked Outer ToolWindow into the Inner Docksite but I can drag the Inner DockSite out into the Outer DockSite but once it is docked outside of it can't dock back within.
Seems like it maybe a similar issue to this;
http://www.actiprosoftware.com/community/thread/21049/linked-nested-docksites#103785
Using the "SampleApplication-CShartp" I was able to replicate my issue within the ProductSamples > DockingSamples > QuickStart > NestedDockSites > MainControl.xaml
I simply edited the following two files
MainControl.xaml.cs :- Simply Link the DockSites
/// <summary>
/// Initializes an instance of the <c>MainControl</c> class.
/// </summary>
public MainControl()
{
InitializeComponent();
this.OuterDockSite.LinkDockSite(this.InnerDockSite);
}
MainControl.xaml :- Removed a Inner DockSite 2 to make it a little less busy
<!-- Outer DockSite -->
<docking:DockSite x:Name="OuterDockSite">
<docking:SplitContainer>
<docking:Workspace>
<docking:TabbedMdiHost>
<docking:TabbedMdiContainer>
<docking:DocumentWindow Title="Document(Houses InnerDockSite)">
<!-- Inner DockSite -->
<docking:DockSite x:Name="InnerDockSite">
<docking:ToolWindowContainer>
<docking:ToolWindow x:Name="InnerToolWindow1" Title="Inner DockSite 1-1">
<TextBox BorderThickness="0" AcceptsReturn="True" />
</docking:ToolWindow>
<docking:ToolWindow x:Name="InnerToolWindow2" Title="Inner DockSite 1-2">
<TextBox BorderThickness="0" AcceptsReturn="True" />
</docking:ToolWindow>
</docking:ToolWindowContainer>
</docking:DockSite>
</docking:DocumentWindow>
</docking:TabbedMdiContainer>
</docking:TabbedMdiHost>
</docking:Workspace>
<docking:ToolWindowContainer>
<docking:ToolWindow x:Name="OuterToolWindow1" Title="Outer DockSite 1">
<TextBox BorderThickness="0" AcceptsReturn="True" />
</docking:ToolWindow>
<docking:ToolWindow x:Name="OuterToolWindow2" Title="Outer DockSite 2">
<TextBox BorderThickness="0" AcceptsReturn="True" />
</docking:ToolWindow>
</docking:ToolWindowContainer>
</docking:SplitContainer>
</docking:DockSite>
Reproduction steps (after changing the demo).
1. Drag Inner "DockSite 1-1" out of the Documents (make sure to take just 1-1).
2. Dock Inside "Outer DockSite 1"
3. Drag Inner "DockSite 1-1" or any of the others and try and dock inside Inner DockSite 1-2 like "Inner DockSite 1-1" was orignally.
Update
I was having a little play today programatically moving the ToolWindows and I can see from Snoop that they are there before I move them but after they simply disapear.
private void Button_Click_1(object sender, System.Windows.RoutedEventArgs e)
{
this.InnerToolWindow1.MoveToLinkedDockSite(this.OuterDockSite);
this.OuterToolWindow1.MoveToLinkedDockSite(this.InnerDockSite);
}
[Modified 7 years ago]