WPF SharedSizeGroup列不会拉伸

本文关键字:SharedSizeGroup WPF | 更新日期: 2023-09-27 18:08:43

设置SharedSizeGroup="B"为子网格的每第二列后。Column变成不可更改的(总是有一个宽度),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>
</Window>

WPF SharedSizeGroup列不会拉伸

从这里:

您可以通过三种不同的方式设置网格中列的宽度(或行的高度):自动、显式大小或星形大小。

当您使用SharedSizeGroup属性将多个列(或行)设置为相同的宽度(或高度)时,用于设置列宽度(或行高度)的方法会影响最终大小,如下所示:

  • 星形大小-不被尊重,被视为自动
  • 绝对大小-优先于自动,列设置为最大显式宽度
  • 自动调整大小-如果所有列都是自动的,大小设置为适合最大的内容。如果任何列使用显式宽度,则显式宽度值优先