У меня проблема с макетом, которую я не знаю, как решить. Вот как выглядит мой xaml,
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid x:Name="abc" Grid.Row="0" Grid.Column="0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Button Grid.Row="0" Grid.Column="0"></Button>
<TextBox Grid.Row="0" Grid.Column="1"></TextBox>
</Grid>
</Grid>
<Grid Grid.Row="0" Grid.Column="1">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Button Grid.Row="0" Grid.Column="0"></Button>
<TextBox Grid.Row="0" Grid.Column="1"></TextBox>
</Grid>
</Grid>
</Grid>
Теперь макет вышеупомянутого xaml точно такой, какой я хочу. Однако у меня есть еще одно требование. Во время выполнения мне нужно сделать сетку "abc" разборной. А другая сетка должна заполнить всю ширину. Если я использую ширину размеров звезды, то если «abc» свернут, он ведет себя скорее как скрытый, чем свернутый. Свернуть, кажется, работает с шириной Авто размер, но это не дает мне пропорционального размера по мере необходимости. Есть ли способ сделать это. Обратите внимание, что у меня есть доступ только к сеткам, StackPanels и Canvas для макета моих элементов (без DockPanel). Пожалуйста, дайте мне знать о любых идеях вместе с любыми фрагментами кода. Спасибо.