Я использую сторонний элемент управления DevComponents для создания экрана с несколькими компонентами стыковки, организованными в три строки, последняя строка имеет три столбца. Мне удалось создать этот макет, однако я не могу понять, как увеличить высоту DockSite до границ экрана.
Я разместил XAML ниже:
<UserControl x:Class="Docking_UC"
xmlns:my="clr-namespace:DevComponents.WpfDock;assembly=DevComponents.WpfDock"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="714" Width="1057">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" MinHeight="83"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<Grid HorizontalAlignment="Stretch" Margin="0" Name="bodyGrid" Width="Auto" Grid.Row="0">
<Grid.RowDefinitions>
<RowDefinition Height="71" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<WrapPanel>
<Label>Dock Test #</Label>
<Label>1</Label>
</WrapPanel>
<Rectangle Height="12" Name="menuRectangle" Stroke="Black" VerticalAlignment="Bottom" Fill="SteelBlue" Opacity="0.25" Grid.Row="1" />
</Grid>
<my:DockSite Background="Transparent" Name="dashDockSiteAll" Grid.Row="1">
<my:DockSite.SplitPanels>
<my:SplitPanel Orientation="Vertical" my:DockSite.Dock="Top" my:DockSite.DockSize="714">
<my:SplitPanel Orientation="Vertical">
<my:DockWindowGroup my:SplitPanel.RelativeSize="50,135">
<my:DockWindow Header="Top" Name="dockWindowTop">
<Label>2</Label>
</my:DockWindow>
</my:DockWindowGroup>
<my:DockWindowGroup my:SplitPanel.RelativeSize="50,220">
<my:DockWindow Header="MidWindowTab1" Name="dockWindowMid1">
<Label>3</Label>
</my:DockWindow>
<my:DockWindow Header="MidWindowTab2" Name="dockWindowMid2">
<Label>4</Label>
</my:DockWindow>
</my:DockWindowGroup>
<my:DockWindowGroup my:SplitPanel.RelativeSize="50,150">
<my:DockWindow Header="Bottom" Name="dockWindowBottom">
<my:SplitPanel Orientation="Horizontal" my:SplitPanel.RelativeSize="50,150">
<my:DockWindowGroup>
<my:DockWindow Header="BottomLeft">
<Label>5</Label>
</my:DockWindow>
</my:DockWindowGroup>
<my:DockWindowGroup>
<my:DockWindow Header="BottomMid">
<Label>6</Label>
</my:DockWindow>
</my:DockWindowGroup>
<my:DockWindowGroup>
<my:DockWindow Header="BottomRight">
<Label>7</Label>
</my:DockWindow>
</my:DockWindowGroup>
</my:SplitPanel>
</my:DockWindow>
</my:DockWindowGroup>
</my:SplitPanel>
</my:SplitPanel>
</my:DockSite.SplitPanels>
</my:DockSite>
</Grid>
I have tried removing the DockSite.Site property but then the DockSite defaults to a Left Docked. Also, upon docking one window to the Bottom site there still remains an empty area about the height of the cursor that I cannot remove.