I've created the above, but the problem is that the bottom 3 panes are always sized to a minimal height, which means the user must resize each time. I've tried saving/loading the layout and this makes no difference. I've also tried giving them heights/minheights with no sucess.
Any ideas?
Thanks
It's hard to say without seeing how you define the layout. Can you post the xaml that you use to define the layout?
<DockManager:XamDockManager Theme="Royale" Name="DockManager"> <DockManager:XamDockManager.Resources> </DockManager:XamDockManager.Resources> <DockManager:XamDockManager.Panes> <DockManager:SplitPane SplitterOrientation="Vertical" DockManager:XamDockManager.InitialLocation="DockedBottom"> <DockManager:ContentPane x:Name="a" Header="a" CloseButtonVisibility="Collapsed" IsPinned="True" AllowClose="False"> </DockManager:ContentPane> <DockManager:ContentPane x:Name="b" Header="b" CloseButtonVisibility="Collapsed" IsPinned="True" AllowClose="False"> <StackPanel Orientation="Vertical" Margin="0,5,0,0" > <Chart:XamChart Name="Chart" View3D="True" Width="450" Height="400" Margin="0,-125,0,0" > </Chart:XamChart> </StackPanel> </DockManager:ContentPane> <DockManager:ContentPane x:Name="c" Header="c" CloseButtonVisibility="Collapsed" IsPinned="True" AllowClose="False"> </DockManager:ContentPane> </DockManager:SplitPane> </DockManager:XamDockManager.Panes> <DockManager:DocumentContentHost> <DockManager:SplitPane SplitterOrientation="Horizontal"> <DockManager:SplitPane SplitterOrientation="Horizontal"> <DockManager:TabGroupPane> <DockManager:ContentPane x:Name="top" Header="top" CloseButtonVisibility="Collapsed" AllowClose="False" Visibility="Visible"> <Views:PositionsView /> </DockManager:ContentPane> </DockManager:TabGroupPane> </DockManager:SplitPane> </DockManager:SplitPane> </DockManager:DocumentContentHost> </DockManager:XamDockManager>
thanks
The SplitPane that is docked on the bottom doesn't have a Height set. Since the Height is not set, the dockmanager will measure that SplitPane with the size provided to its measure and use its DesiredSize to determine the extent (height in this case) of the root splitpane. In this case though there really isn't any content within the panes within the Splitter that would require any height - 2 content panes are empty and one has an empty chart. If you want to increase/control the size, then you should set the Height property on the root splitpane (i.e the one directly within the dockmanager's Panes collection) that is docked on the bottom.
Sorry, this is what I did, I should have uploaded the version where I did explicitly set the height - had no effect unfortunately.
I still don't see any issue when using that xaml. Here's a screenshot of hosting that usercontrol in a Window. I've also attached the project I used to test it. If you still have an issue then please provide a complete functional sample that demonstrates the issue and we can look into it further.
have attached a more complete version of the Xaml
also the reason for the -125 margin is because it's a piechart and there a lot of excess white space at the top
<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:DockManager="clr-namespace:Infragistics.Windows.DockManager;assembly=InfragisticsWPF3.DockManager.v10.3" xmlns:Chart="clr-namespace:Infragistics.Windows.Chart;assembly=InfragisticsWPF3.Chart.v10.3" xmlns:DataPresenter="clr-namespace:Infragistics.Windows.DataPresenter;assembly=InfragisticsWPF3.DataPresenter.v10.3" xmlns:Editors="clr-namespace:Infragistics.Windows.Editors;assembly=InfragisticsWPF3.Editors.v10.3" mc:Ignorable="d" > <UserControl.Resources> <Utils:BoolToVisibilityConverter x:Key="boolToVisibileConverter" /> </UserControl.Resources> <Grid Background="White" Name="grid" > <DockManager:XamDockManager Theme="Royale" Name="DockManager"> <DockManager:XamDockManager.Resources> </DockManager:XamDockManager.Resources> <DockManager:XamDockManager.Panes> <DockManager:SplitPane Height="400" SplitterOrientation="Vertical" DockManager:XamDockManager.InitialLocation="DockedBottom"> <DockManager:ContentPane x:Name="B" Header="B" CloseButtonVisibility="Collapsed" IsPinned="True" AllowClose="False"> </DockManager:ContentPane> <DockManager:ContentPane x:Name="A" Header="A" CloseButtonVisibility="Collapsed" IsPinned="True" AllowClose="False"> <StackPanel Orientation="Vertical" Margin="0,5,0,0" Visibility="{Binding GridVisible, Converter={StaticResource boolToVisibileConverter}}" > <Chart:XamChart Name="Chart" View3D="True" Width="450" Height="400" Margin="0,-125,0,0" > </Chart:XamChart> </StackPanel> </DockManager:ContentPane> <DockManager:ContentPane x:Name="C" Header="C" CloseButtonVisibility="Collapsed" IsPinned="True" AllowClose="False"> </DockManager:ContentPane> </DockManager:SplitPane> </DockManager:XamDockManager.Panes> <DockManager:DocumentContentHost> <DockManager:SplitPane SplitterOrientation="Horizontal"> <DockManager:SplitPane SplitterOrientation="Horizontal"> <DockManager:TabGroupPane> <DockManager:ContentPane x:Name="D" Header="D" CloseButtonVisibility="Collapsed" AllowClose="False" Visibility="Visible"> <Views:PositionsView /> </DockManager:ContentPane> </DockManager:TabGroupPane> </DockManager:SplitPane> </DockManager:SplitPane> </DockManager:DocumentContentHost> </DockManager:XamDockManager> </Grid> </UserControl>
This is what I see when I use the snippet you provided in a new window without setting the Height of the root SplitPane. Note because you have the chart with a height of 400 and a negative top margin (-125) in a stackpanel (which simply measures the child with an infinite height since its arranging the children vertically), the top 125 pixels of the chart is clipped. I've attached the sample with your snippet (replacing that view control with a textbox).
Setting the Height of the SplitPane does affect the height of the root split. I can only suspect that you have some element containing the xamDockManager or perhaps further up the ancestor chain that is causing the layout issue you are seeing. If you post a full sample that demonstrates the issue then it will be possible to determine what that is but it could be that you have it in a StackPanel or its in a Grid where the RowDefinition's Height is Auto.