使列宽与另一个列宽相同

时间:2019-08-28 20:37:55

标签: wpf

在我的WPF应用程序中,父网格内部有2个网格:

<Grid>
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="col1 width"/>
            <ColumnDefinition Width="col2 width"/>
        <Grid.ColumnDefinitions>
    </Grid>

    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" x:Name="col1"/>
            <ColumnDefinition Width="Auto" x:Name="col2"/>
        <Grid.ColumnDefinitions>
    </Grid>
</Grid>

如何将第一个网格中的列定义宽度绑定到另一个网格?

2 个答案:

答案 0 :(得分:1)

您可以做到

<Grid>
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="{Binding ElementName=col1, Path=Width}"/>
            <ColumnDefinition Width="{Binding ElementName=col2, Path=Width}"/>
        <Grid.ColumnDefinitions>
    </Grid>

    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" x:Name="col1"/>
            <ColumnDefinition Width="Auto" x:Name="col2"/>
        <Grid.ColumnDefinitions>
    </Grid>
</Grid>

答案 1 :(得分:1)

我测试了以下代码,效果很好。

<Grid >
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="{Binding ElementName=col1, Path=ActualWidth}"/>
            <ColumnDefinition Width="{Binding ElementName=col2, Path=ActualWidth}"/>
         </Grid.ColumnDefinitions>
    </Grid>
    <Grid >
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="100" x:Name="col1"/>
            <ColumnDefinition Width="150" x:Name="col2"/>
            </Grid.ColumnDefinitions>
    </Grid>