Получение трех столбцов одинаковой ширины выполняется путем установки Width
в Auto
.
<Grid x:Name="myGrid">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label Grid.Row="0" Grid.Column="0">One</Label>
<Label Grid.Row="0" Grid.Column="1" x:Name="label1">Two</Label>
<Label Grid.Row="0" Grid.Column="2">Three</Label>
</Grid>
Я хочу добиться того, чтобы средний столбец был свернут или скрыт, чтобы другие два заняли оставшиесяпространство и получить равную ширину.
Если я просто установил Видимость на Свернутый или Скрытый из-за ширины = "*", ширина двух других столбцов останется прежней.
<Label Grid.Row="0" Grid.Column="1" Visibility="Collapsed">Two</Label>
Я достиг желаемой функциональности, запрограммировав автоматическую настройку ширины второго столбца, но ищу другое решение (желательно xaml, способ один).
private void Button_Click(object sender, RoutedEventArgs e)
{
this.myGrid.ColumnDefinitions[1].Width = GridLength.Auto;
this.label1.Visibility = Visibility.Collapsed;
}