我在网格内对齐了4个按钮。是否有任何方法可以自动对齐,以便如果一个按钮的可见性设置为false,则其余按钮会明智地使用该空间[其他按钮移动以适应新空间]?
答案 0 :(得分:2)
而不是网格,将按钮放在StackPanel中,Orientation =“Horizontal”。此外,请确保将按钮可见性设置为“折叠”而不是“隐藏”。
答案 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
,这将有点棘手需要调整列和行。