У меня очень простой макет, но я все еще не могу добиться желаемого поведения. Глупый я...
Моя сетка имеет два столбца: столбец динамического размера слева и столбец фиксированного размера справа. Это работает. Внутри правого столбца у меня есть панель стека, содержащая две кнопки, они правильно изменяют размер окна.
Внутри левого столбца у меня есть док-панель, содержащая два групповых ящика, нижняя имеет фиксированную высоту и пристыкована к нижней части. Этот групповой блок правильно изменяет размер окна, как я и хочу.
Но я не могу заставить верхний групповой ящик заполнить верхнюю часть док-панели. Я могу только установить его высоту как фиксированную или при настройке Auto он получает странную высоту 23...? Я хочу, чтобы он заполнил область и следовал за изменением размера окна. Я также пытался использовать stackpanel в этой колонке, но безуспешно.
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="220"/>
</Grid.ColumnDefinitions>
<DockPanel x:Name="GroupPanel" Grid.Column="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<GroupBox x:Name="AlarmGroup" Header="Alarms" Margin="10" DockPanel.Dock="Top" />
<GroupBox x:Name="LogGroup" Header="Log" Height="188" Margin="10" VerticalAlignment="Bottom" />
</DockPanel>
<StackPanel x:Name="ButtonPanel" Width="190" Grid.Column="1">
<Button x:Name="StartButton" DockPanel.Dock="Right" Width="150" Height="40" VerticalAlignment="Top" Margin="0,20,10,0">Start</Button>
<Button x:Name="StopButton" DockPanel.Dock="Right" Width="150" Height="40" VerticalAlignment="Top" Margin="0,10,10,0">Stop</Button>
</StackPanel>
</Grid>