自动对齐按钮

时间:2012-01-17 19:08:05

标签: wpf xaml

我在网格内对齐了4个按钮。是否有任何方法可以自动对齐,以便如果一个按钮的可见性设置为false,则其余按钮会明智地使用该空间[其他按钮移动以适应新空间]?

3 个答案:

答案 0 :(得分:2)

而不是网格,将按钮放在StackPanel中,Orientation =“Horizo​​ntal”。此外,请确保将按钮可见性设置为“折叠”而不是“隐藏”。

答案 1 :(得分:2)

尝试以下方法:

<Grid VerticalAlignment="Center" HorizontalAlignment="Center">
    <StackPanel Orientation="Horizontal">
        <Button Content="1" Width="50" Height="23" Visibility="Collapsed"/>
        <Button Content="2" Width="50" Height="23"/>
        <Button Content="3" Width="50" Height="23" Visibility="Collapsed"/>
        <Button Content="4" Width="50" Height="23"/>
    </StackPanel>
</Grid>

或者这个:

<Grid VerticalAlignment="Center" HorizontalAlignment="Center">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="Auto"/>
    </Grid.ColumnDefinitions>
    <Button Grid.Column="1" Content="1" Width="50" Height="23" Visibility="Collapsed"/>
    <Button Grid.Column="2" Content="2" Width="50" Height="23"/>
    <Button Grid.Column="3" Content="3" Width="50" Height="23" Visibility="Collapsed"/>
    <Button Grid.Column="4" Content="4" Width="50" Height="23"/>
</Grid>

您应该看到按钮居中,但只显示第二个和第四个按钮

答案 2 :(得分:1)

取决于布局以及您希望空间分布的复杂程度,如果统一分布足够,您可以在正常Grid中使用UniformGrid,这将有点棘手需要调整列和行。

相关问题