У меня есть следующий источник XAML, чтобы продемонстрировать, над чем я работаю.
Я хочу, чтобы при изменении размера группы по вертикали, чтобы первый групповой блок расширялся до его максимальной высоты, а затем, когда это будет достигнуто, расширял третий групповой блок. Третий групповой блок также имеет свойство минимальной высоты.
<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" x:Name="Screen_1_Name"
x:Class="TestExpansionScreens.Screen_1"
Width="400" Height="400">
<Grid x:Name="LayoutRoot" Background="White" Margin="0,0,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<GroupBox Header="Thing1" Background="LightGreen" Grid.Row="0" Grid.Column="0" MaxHeight="350">
<Button Content="Stuff1" />
</GroupBox>
<GroupBox Header="Thing2" Background="LightBlue" Grid.Row="1" Grid.Column="0">
<TextBox Text="Stuff2" Height="60" />
</GroupBox>
<GroupBox Header="Thing3" Background="Pink" Grid.Row="2" Grid.Column="0">
<TextBox Text="Stuff3" />
</GroupBox>
</Grid>
</UserControl>
Обычно, когда я просто хочу расширить один элемент управления, чтобы заполнить доступное пространство, я использую DockPanel. Я построил этот пример со всевозможными сетками и стыковочными панелями, однако я не смог решить, как заставить его работать. Любая идея о том, как это сделать?
Спасибо