将SharedSizeGroup="B"
设置为子网格的每个第二列。列变得不可更改(始终具有一个宽度)并且width =“1 *”不起作用。是否可以使该列重新调整大小,但使用SharedSizeGroup="B"
。
<Window x:Class="WpfApplication23ColumnsGroup.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid Grid.IsSharedSizeScope="True">
<Grid Height="100">
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="A"></ColumnDefinition>
<ColumnDefinition Width="1*" SharedSizeGroup="B"></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Label Content="Test"></Label>
<TextBox Grid.Column="1" MinWidth="120" MaxWidth="240"></TextBox>
<TextBox Grid.Column="2" MinWidth="120" MaxWidth="240"></TextBox>
</Grid>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="A"></ColumnDefinition>
<ColumnDefinition SharedSizeGroup="B"></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Label Content="TestTestTest"></Label>
<TextBox Grid.Column="1"></TextBox>
<TextBox Grid.Column="2"></TextBox>
</Grid>
<Grid Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="A"></ColumnDefinition>
<ColumnDefinition SharedSizeGroup="B"></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Label Content="TestTestTestTestTestTest"></Label>
<TextBox Grid.Column="1"></TextBox>
<TextBox Grid.Column="2"></TextBox>
</Grid>
</Grid>
</Grid>
答案 0 :(得分:0)
您可以通过三种不同的方式设置网格中列的宽度(或行的高度):自动,显式大小或星号大小。
当您使用SharedSizeGroup属性将多个列(或行)设置为相同的宽度(或高度)时,用于设置列宽(或行高)的方法会影响最终大小,如下所示: ◾Star尺寸 - 不尊重,视为自动 ◾绝对大小调整 - 优先于自动,列设置为最大显式宽度 ◾自动调整大小 - 如果所有列都是自动,则将大小设置为适合最大内容。如果任何列使用显式宽度,则显式宽度值优先
查看此处的链接以获取更多信息。 https://wpf.2000things.com/tag/sharedsizegroup/