【发布时间】:2019-03-04 16:46:15
【问题描述】:
我的目标是拥有一个包含两列控件(每列将包含一个垂直 StackPanel)的 Grid 面板,其中两列的宽度相同,但会根据它们包含的控件自动调整大小。因此,两个列的宽度都将等于任一列中最宽的控件。
我试着做这样的事情:
<Grid HorizontalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Button Grid.Column="0" Content="This is a wide button" HorizontalAlignment="Center" />
<Button Grid.Column="1" Content="Button" HorizontalAlignment="Center" />
</Grid>
这里的问题是列宽不相等。效果与我为列定义指定Width="Auto" 相同。如果网格的水平对齐是拉伸而不是中心,则使用 * 宽度只会使列的宽度相等。 (除非列不再根据内容自动调整大小。)
我错过了什么吗?有没有办法根据网格单元格中的内容获得相等大小的列宽?在 UWP 应用中(所以 UniformGrid 之类的东西不可用)?
【问题讨论】: