WPF堆栈面板居中对齐

15

我希望能够在一个堆栈面板中居中对齐按钮。按钮数量是动态生成的,当控件加载时生成。

例如,如果生成1个按钮,则应将此按钮放置在控件中心。如果显示5个按钮,则所有5个按钮应水平对齐相邻的两个按钮,并居中于控件。

另一种方法是根据内容动态调整控件大小,因此随着更多按钮而变宽,然后在页面上水平对齐用户控件,但我不确定如何解决这两个方案?

有人有任何想法吗?


3
布局相关的问题最好结合一个现有Xaml示例进行讨论 :) - iCollect.it Ltd
2个回答

25

应该可以用。在堆栈面板中设置水平对齐方式,并确保在动态添加按钮时,为它们每个设置边距属性值以使它们彼此之间有一些空间。水平对齐控件。

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

8
您可以在XAML中简单地设置以下内容 StackPanel.HorizontalAlignment = HorizontalAlignment.Center; 或者 HorizontalAlignment="Center"(如GrayFox374所述)
这里有一个MSDN示例,解释了各种对齐操作,我想它恰好满足您的需求- 如何在StackPanel中水平或垂直对齐内容

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接