WPF堆栈面板集中对齐

时间:2012-06-22 13:46:40

标签: .net wpf silverlight

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

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

有人有什么想法吗?

2 个答案:

答案 0 :(得分:20)

这应该有效。在堆栈面板中设置Horizo​​ntal Alignment,并确保在动态添加按钮时,为每个按钮提供一个margin属性值,以便为彼此提供一些空间。彼此水平,对照的中心。

    <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>

答案 1 :(得分:7)

您只需在XAML

中设置以下内容即可

StackPanel.HorizontalAlignment = HorizontalAlignment.Center;

HorizontalAlignment="Center"(如GrayFox374所述)

这是一个MSDN示例,解释了各种对齐操作,具有您认为我需要的内容 - How to: Horizontally or Vertically Align Content in a StackPanel