У меня есть приложение WPF, макет которого состоит из 3 строк на верхнем уровне Grid
.
Я хочу, чтобы средний ряд использовал необходимое пространство (максимальное необходимое пространство ограничено, но зависит от ширины окна). Нижний ряд должен использовать оставшееся пространство. Сложная часть — верхний ряд. Его размер может варьироваться в зависимости от кнопки, которая переключает видимость большей части содержимого. Я хочу, чтобы он использовал не более 50% высоты, но не больше, чем ему действительно нужно. Следующий XAML описывает, что я хочу сделать:
<Grid.RowDefinitions>
<!-- neither "1*" nor "Auto" fully meets my needs -->
<RowDefinition Height="Min(1*,Auto)"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="1*"></RowDefinition>
</Grid.RowDefinitions>
Ряды:
WrapPanel
WrapPanel
TextBox
если это важно.