创建一个水平拉伸三个相等列的网格

时间:2015-05-27 08:04:27

标签: wpf xaml

我想定义一个具有三列和相同witdh的网格(这意味着每列具有的是网格总宽度的1/3)。并且Grid必须水平拉伸。

<Border Grid.IsSharedSizeScope="True">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition  Width="*" SharedSizeGroup="A"/>
                <ColumnDefinition  Width="*" SharedSizeGroup="A"/>
                <ColumnDefinition  Width="*" SharedSizeGroup="A"/>
            </Grid.ColumnDefinitions>
            <TextBlock Grid.Column="0" Text="A"/>
            <TextBlock Grid.Column="1" Text="B"/>
            <TextBlock Grid.Column="2" Text="C"/>
    </Border>

上面的代码xaml,三列具有相同的宽度但网格不是水平拉伸的。 谢谢你的帮助:&gt;

2 个答案:

答案 0 :(得分:2)

你走了。

添加Horizo​​ntalAlignment =&#34; Stretch&#34;到网格组件。

<Border>
    <Grid HorizontalAlignment="Stretch">
        <Grid.ColumnDefinitions>
            <ColumnDefinition  Width="*" SharedSizeGroup="A"/>
            <ColumnDefinition  Width="*" SharedSizeGroup="A"/>
            <ColumnDefinition  Width="*" SharedSizeGroup="A"/>
        </Grid.ColumnDefinitions>
        <TextBlock Grid.Column="0" Text="A"/>
        <TextBlock Grid.Column="1" Text="B"/>
        <TextBlock Grid.Column="2" Text="C"/>
    </Grid>
</Border>

答案 1 :(得分:2)

使用<UniformGrid Columns="3" > <TextBlock Text="A"/> <TextBlock Text="B"/> <TextBlock Text="C"/> </UniformGrid> 的简单解决方案:

APPDELEGATE.existingUserUpdate = YES;