2012-06-22 86 views
7

我希望能够在堆栈面板中心对齐按钮。按钮的数量是动态的,并且在加载控件时生成。 例如,如果生成1个按钮,则应将此按钮放置在控件的中心。如果显示5个按钮,那么所有5个按钮应该水平对齐,然后在对方的中央对齐。WPF堆栈面板居中对齐

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

有没有人有任何想法?

+3

布局问题最适合现有Xaml的示例:) –

回答

16

这应该工作。在堆叠面板中设置“水平对齐”,并确保在动态添加按钮时,为每个对象分配一个边距属性值以给它们一定的空间。彼此相互水平,是控制的核心。

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