У меня есть два пользовательских элемента управления, расположенных вертикально в сетке, оба из которых могут расширяться, чтобы быть выше, чем сетка может вместить. Я поместил их в каждый в scrollviewer , который функционально работает. Однако я хочу дать им пространство пропорционально количеству, которое они хотят во время выполнения.
Таким образом, если доступно 500 высот, верхний элемент управления хочет 400, а нижний 600, верхний элемент управления получит 200, а нижний 300.
Во время разработки я понятия не имею, сколько места потребуется каждому из них пропорционально другому, поэтому использование 1 *, 2 * и т. Д. Для высоты строки мне не подойдет.
Я могу вручную кодировать пропорциональное определение размера во время выполнения, но мне не хватает простого трюка в XAML, который бы дал мне то, что я хочу?
Контекст выглядит следующим образом (сокращено для краткости) ...
<Grid>
<TabControl>
<TabItem>
<Grid>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<GroupBox Grid.Row="0" Header="Title Area" />
<ScrollViewer Grid.Row="1" VerticalScrollBarVisibility="Auto">
<UserControl />
</ScrollViewer>
<ScrollViewer Grid.Row="2" VerticalScrollBarVisibility="Auto">
<UserControl />
</ScrollViewer>
</Grid>
</Grid>
</TabItem>
</TabControl>
</Grid>