我希望能够集中对齐堆栈面板中的按钮。按钮的数量是动态的,并在加载控件时生成。例如,如果生成了 1 个按钮,则该按钮应放置在控件的中心。如果显示 5 个按钮,则所有 5 个按钮应水平对齐,彼此相邻 2 个,但位于控件的中心。
另一种方法是让控件根据其内容动态调整大小,以便使用更多按钮使其更宽,然后水平对齐页面上的用户控件,但我不确定如何处理这两种解决方案?
有人有什么想法吗?
我希望能够集中对齐堆栈面板中的按钮。按钮的数量是动态的,并在加载控件时生成。例如,如果生成了 1 个按钮,则该按钮应放置在控件的中心。如果显示 5 个按钮,则所有 5 个按钮应水平对齐,彼此相邻 2 个,但位于控件的中心。
另一种方法是让控件根据其内容动态调整大小,以便使用更多按钮使其更宽,然后水平对齐页面上的用户控件,但我不确定如何处理这两种解决方案?
有人有什么想法吗?
这应该有效。在堆栈面板中设置水平对齐,并确保在动态添加按钮时,为它们各自赋予一个边距属性值,以使它们彼此之间留出一些空间。彼此水平,控制中心。
<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>
您可以简单地在 XAML 中设置以下内容
StackPanel.HorizontalAlignment = HorizontalAlignment.Center;
或者
HorizontalAlignment="Center"
(如 GrayFox374 所述)
这是一个 MSDN 示例,解释了各种对齐操作,完全符合我的想法 - How to: Horizontally or Vertically Align Content in a StackPanel