Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
45
Nested XamDockManager Possible ?
posted

Within my single top level window, is it possible to have a set of dockable/floatable 'parent' tabs, where each 'parent' tab contains a nested set of dockable / floatable 'child' tabs ? 

The idea being that in my application I want to open a project that may contain several models (parent tabs).  Each model has the exact same set of user controls associated with it, where only the associated data within each control is different.  I want to be able to compare model data side by side. 

I tried a proof of concept window as per the folowing code which compiles and runs fine but when I try and float the content contained inside the 'model' tab, and then try and dock again it throws an InvalidOperationException 'System.Windows.FrameworkContentElement' is not a Visual or Visual3D.'  

 Is this possible at all and if so how can I do this without any errors being thrown ?

<Window x:Class="Test"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:igDock="http://infragistics.com/DockManager"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

Title="Test" Height="300" Width="300">

<Grid>

<igDock:XamDockManager Background="#848589" x:Name="dockManagerBase">

<igDock:XamDockManager.Panes>

<igDock:SplitPane igDock:XamDockManager.InitialLocation="DockedTop" Height="300" SplitterOrientation="Vertical">

<igDock:TabGroupPane>

<igDock:ContentPane Header="Model #1">

<!-- BEGIN MODEL 1 NESTED XamDocManager-->

<igDock:XamDockManager Theme="Aero">

<igDock:XamDockManager.Panes>

<igDock:SplitPane igDock:XamDockManager.InitialLocation="DockedLeft">

<igDock:ContentPane Header="Left Edge Dock Pane">

</igDock:ContentPane>

</igDock:SplitPane>

<igDock:SplitPane igDock:XamDockManager.InitialLocation="DockedRight">

<igDock:ContentPane Header="Right Edge Dock Pane">

</igDock:ContentPane>

</igDock:SplitPane>

</igDock:XamDockManager.Panes>

</igDock:XamDockManager>

<!-- END MODEL 1 NESTED XamDocManager-->

</igDock:ContentPane>

<igDock:ContentPane Header="Model #2">

<!-- BEGIN MODEL 2 NESTED XamDocManager-->

<igDock:XamDockManager Theme="Aero">

<igDock:XamDockManager.Panes>

<igDock:SplitPane igDock:XamDockManager.InitialLocation="DockedTop">

<igDock:ContentPane Header="Top Edge Dock Pane">

</igDock:ContentPane>

</igDock:SplitPane>

<igDock:SplitPane igDock:XamDockManager.InitialLocation="DockedBottom">

<igDock:ContentPane Header="Bottom Edge Dock Pane">

</igDock:ContentPane>

</igDock:SplitPane>

</igDock:XamDockManager.Panes>

</igDock:XamDockManager>

<!-- END MODEL 2 NESTED XamDocManager-->

</igDock:ContentPane>

</igDock:TabGroupPane>

</igDock:SplitPane>

</igDock:XamDockManager.Panes>

</igDock:XamDockManager>

</Grid>

</Window>

Many Thanks,

Alistair