WPF堆栈面板集中对齐

use*_*992 11 .net silverlight wpf

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

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

有人有什么想法吗?

Gra*_*374 21

这应该工作.在堆栈面板中设置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>
Run Code Online (Sandbox Code Playgroud)


akj*_*shi 7

您只需在XAML中设置以下内容即可

StackPanel.HorizontalAlignment = HorizontalAlignment.Center;

要么

HorizontalAlignment="Center" (如GrayFox374所述)

这是一个MSDN示例,解释各种对齐操作,具有您认为我需要的内容 - 如何:水平或垂直对齐StackPanel中的内容