2012-01-17 54 views
3

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

回答

2

而不是一个网格,将按钮放在一个方向=“水平”的StackPanel。另外,请确保将按钮可见性设置为“折叠”而不是“隐藏”。

1

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

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> 

你应该看到的按钮为中心,但只显示了第二个和第四个按钮