可将StackPanel控件理解为精简版的DockPanel,即子控件所停靠的边缘是固定不变的。另一个差异是StackPanel中的最后一个子控件不会占满剩余空间。不过,这些子控件默认情况下会拉伸到StackPanel控件的边缘。
控件的堆叠方向由三个属性决定。Orientation可设置为Horizontal或Vertical, HorizontalAlignment和 VerticalAlignment可用于决定控件的堆梭是紧靠StackPanel的顶部、底部、左侧还是右侧进行排列。还可将对齐(Alignment)属性的值设置为Center,让控件在StackPanel的中间堆叠。
下图展示了两个StackPanel控件,其中分别包含三个按钮。上方的StackPanel控件的Orientation属性设置为Horizontal,下方的StackPanel控件的Orientation属性则设置为Vertical。
此处所用到的代码如下所示(可在LayoutExamples\StackPanels.xaml下载文件中找到);
<Window x:Class = "LayoutExamples.StackPanels"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/ITlarkup-compatibility/2006"
xmlns:local="clr-namespace:LayoutExamples"
mc:Ignorable="d"
Title="StackPanels” Height="300" Width="300">
<Grid>
<StackPanel HorizontalAlignment="Left" Height="128" VerticalAlignment="Top"
Width="284" Orientation="Horizontai">
<Button Content="Button" Height="128" VerticalAligmnent="Top" Width="75"/>
<Button Content="Button" Height="128" VerticalAlignment="Top" Width="75"/>
<Button Content="Button" Height="128" VerticalAlignment="Top" Width="75"/>
</StackPanel>
<StackPanel HorizontalAlignment="Left" Height="128" VerticalAlignment="Top"
Width="284" Margin="0,128,0,0,f Orientation="Vertical1^
<Button Content="Button" HorizontalAlignment="Left" Width="284"/>
<Button Content="Button" HorizontalAlignment="Left" Width="284"/>
<Button Content="Button" HorizontalAlignment="Left" Width="284"/>
</StackPanel>
</Grid>
</Window>
已有 22658 名学员学习以下课程通过考试
最需教育客户端 软件问题一手掌握
去 App Store 免费下载 iOS 客户端
点击加载更多评论>>