StackPanel控件主要用来实现堆叠效果,堆叠方向的控制需要使用oriented
参数。
<Grid>
<StackPanel oriented="Horizontal">
<Button Text="按钮1"/>
<Button Text="按钮2"/>
<Button Text="按钮3"/>
<Button Text="按钮4"/>
<StackPanel/>
<Grid/>
上述写法让4个按键按照水平方向按顺序排列,在内部使用对齐参数是无效的,例如VerticalAlignment
或者HorizontalAlignment
。因为StackPanel默认在堆叠的时候,内部的元素是紧密相邻的。
下面的写法并不会使按键4单独移动到界面的最右侧:
<Grid>
<StackPanel oriented="Horizontal">
<Button Text="按钮1"/>
<Button Text="按钮2"/>
<Button Text="按钮3"/>
<Button Text="按钮4" HorizontalAlignment="Right"/>
<StackPanel/>
<Grid/>
因此只有对StackPanel元素的对齐参数才有效,例如:
<Grid>
<StackPanel oriented="Horizontal" HorizontalAlignment="Right">
<Button Text="按钮1"/>
<Button Text="按钮2"/>
<Button Text="按钮3"/>
<Button Text="按钮4" />
<StackPanel/>
<Grid/>