13

我希望能够集中对齐堆栈面板中的按钮。按钮的数量是动态的,并在加载控件时生成。例如,如果生成了 1 个按钮,则该按钮应放置在控件的中心。如果显示 5 个按钮,则所有 5 个按钮应水平对齐,彼此相邻 2 个,但位于控件的中心。

另一种方法是让控件根据其内容动态调整大小,以便使用更多按钮使其更宽,然后水平对齐页面上的用户控件,但我不确定如何处理这两种解决方案?

有人有什么想法吗?

4

2 回答 2

24

这应该有效。在堆栈面板中设置水平对齐,并确保在动态添加按钮时,为它们各自赋予一个边距属性值,以使它们彼此之间留出一些空间。彼此水平,控制中心。

    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Margin="20">
        <Button Margin="10">one</Button>
        <Button Margin="10">two</Button>
        <Button Margin="10">three</Button>
        <Button Margin="10">four</Button>
        <Button Margin="10">five</Button>            
    </StackPanel>
于 2012-06-22T14:00:09.667 回答
8

您可以简单地在 XAML 中设置以下内容

StackPanel.HorizontalAlignment = HorizontalAlignment.Center;

或者

HorizontalAlignment="Center"(如 GrayFox374 所述)

这是一个 MSDN 示例,解释了各种对齐操作,完全符合我的想法 - How to: Horizo​​ntally or Vertically Align Content in a StackPanel

于 2012-06-22T14:06:42.710 回答