У меня есть три панели:Dock одна панель между двумя другими
Первый находится на вершине, она имеет только несколько кнопок. Он будет таким же высоким, как и многие кнопки.
Второе должно быть прямо под ним, оно удерживает холст, который должен занимать большую часть окна.
Третий - это «некоторая» строка состояния, в нем будут храниться некоторые метки и данные. Он также будет только до тех пор, пока там не будет добавлено много ярлыков.
Я не хочу жестко кодировать любые размеры. Поэтому я устанавливаю первую панель в верхнюю часть родителя. То же самое касается второй панели (холст). Я тоже стыкую его с вершиной. Третья панель состыкована с нижней.
Я не могу сделать холст (2-я панель) заполнить все пространство между 1-й панелью и 3-й панелью. Как это сделать?
<Window x:Class="MyProject.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:MyProject"
mc:Ignorable="d"
Title="MainWindow" Height="700" Width="800">
<DockPanel LastChildFill="False">
<StackPanel DockPanel.Dock="Top">
<GroupBox x:Name="grBoxSettings" Header="Settings" HorizontalAlignment="Stretch" VerticalAlignment="Top" Height="90" Margin="5,0,5,0">
<WrapPanel x:Name="wrapPanelButtons" HorizontalAlignment="Left" VerticalAlignment="Top" Width="110">
<Button x:Name="btnTest" Content="Test" Margin="5,0,0,0" HorizontalAlignment="Center" VerticalAlignment="Top" Width="100"/>
</WrapPanel>
</GroupBox>
</StackPanel>
<Canvas HorizontalAlignment="Stretch" VerticalAlignment="Stretch" DockPanel.Dock="Top"/>
<DockPanel LastChildFill="False" DockPanel.Dock="Bottom">
<GroupBox Header="Version" DockPanel.Dock="Right">
<Label x:Name="lblVersion"/>
</GroupBox>
</DockPanel>
</DockPanel>
</Window>