I'm evaluating the Actipro WPF Studio Docking & MDI capabilities for a project, and have struggled to accomplish a specific sort of nested structure. A short XAML mockup of what I'm after using standard (no Actipro) controls follows, then my questions:
In the mockup, there are outer containers, which contain multiple tabbed packages (probably tool windows). The packages are arranged using a wrap panel so they'll self-arrange when the window is resized. Packages can be dragged between the outer containers and moved around, but the bottom tabs from one package can't be dragged to another package.
I'm an Actipro WPF tools n00b (XAML too really), but after struggling for some hours to create something like this using your API decided it was time to ask for help. Suggestions much appreciated, thanks,
Michael Micheletti
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="M2Tabs2.Window1"
x:Name="Window"
Title="Window1"
Width="300" Height="300">
<Grid x:Name="LayoutRoot">
<TabControl IsSynchronizedWithCurrentItem="True" Margin="8,8,8,8">
<!-- container for packages -->
<TabItem Header="Container 1">
<!-- wrap panel allows packages to reposition when window is resized -->
<WrapPanel>
<!-- package A - can drag at this level between containers -->
<TabControl IsSynchronizedWithCurrentItem="True" Width="200" Height="100"
TabStripPlacement="Bottom" Padding="0,0,0,0">
<TabItem Header="Pkg A tab 1">
<Grid>
<Label Content="Package A" VerticalAlignment="Top"
Background="#FFDBDBDB"/>
</Grid>
</TabItem>
<TabItem Header="Pkg A tab 2">
<Grid>
<Label Content="Package A" VerticalAlignment="Top"
Background="#FFDBDBDB"/>
</Grid>
</TabItem>
</TabControl>
<!-- package B - can drag at this level between containers -->
<TabControl IsSynchronizedWithCurrentItem="True" Width="200" Height="100"
TabStripPlacement="Bottom" Padding="0,0,0,0">
<TabItem Header="Pkg B tab 1">
<Grid>
<Label Content="Package B" VerticalAlignment="Top"
Background="#FFDBDBDB"/>
</Grid>
</TabItem>
<TabItem Header="Pkg B tab 2">
<Grid>
<Label Content="Package B" VerticalAlignment="Top"
Background="#FFDBDBDB"/>
</Grid>
</TabItem>
</TabControl>
</WrapPanel>
</TabItem>
<TabItem Header="Container 2">
<WrapPanel>
<Label Content="Packages go here"/>
</WrapPanel>
</TabItem>
</TabControl>
</Grid>
</Window>
I'm an Actipro WPF tools n00b (XAML too really), but after struggling for some hours to create something like this using your API decided it was time to ask for help. Suggestions much appreciated, thanks,
Michael Micheletti