StackPanel是以堆叠的方式显示其中的控件
1、可以使用Orientation属性更改堆叠的顺序
默认,由上到下显示各控件。控件在未定义的前提下,宽度为StackPanel的宽度,高度自动适应控件中内容的高度
1: <StackPanel Orientation="Vertical"> 2: <Button>Button A</Button> 3: <Button>Button B</Button> 4: <Button>Button C</Button> 5: <Button>Button D</Button> 6: <Button>Button E</Button> 7: <Button>Button F</Button> 8: </StackPanel>
由左到右显示各控件。控件在未定义的前提下,高度为StackPanel的高度,宽度自动适应控件中内容的宽度
1: <StackPanel Orientation="Horizontal"> 2: <Button>Button A</Button> 3: <Button>Button B</Button> 4: <Button>Button C</Button> 5: <Button>Button D</Button> 6: <Button>Button E</Button> 7: <Button>Button F</Button> 8: </StackPanel>
2、设置控件的属性,调整控件的显示

图1.1
WPF中的StackPanel控件是一种简单常用的布局控件。它可根据orientation属性设置面板里面的每个子元素是依靠在前一个控件的旁边(横向)还是下面(纵向)。对于创建各种类型的列表非常有用。所有的继承于ItemsControls的WPF控件,如ComboBox,ListBox和Menu控件都可以使用StackPanel做为它的内部布局面板。
<StackPanel>
上面这一段代码将把StackPanel面板里面的每个控件,从上往下排列,如图1.1所示。
Stack Items horizontally
有一个很好的例子,如有一个有“OK"和"Cancel“按钮的对话框,因为按钮上的文字可能因字体的改变而发生大小改变,我们应该避免固定按钮大小的写法。StackPanel会自动根据面板的大小的自动调整内部控件的大小。我们就不用为按钮太大或太小而烦恼了。

以流的形式由左到右,由上到下显示控件,其功能类似于Java AWT布局中的FlowLayout
以上、下、左、右、中为基本结构的布局方式,类似于Java AWT布局中的BorderLayout。
但与BorderLayout不同的是,每一个区域可以同时放置多个控件,在同一区域放置的多个控件采用的布局方式为StackPanel方式。
如:
1: <DockPanel > 2: <Button Content="ButtonA" Width="70" DockPanel.Dock="Top" /> 3: <Button Content="ButtonB" Width="70" HorizontalAlignment="Right" DockPanel.Dock="Top" /> 4: <Button Content="ButtonC" Margin="10" DockPanel.Dock="Top" /> 5: <Button Content="ButtonD" DockPanel.Dock="Left" /> 6: <Button Content="ButtonE" DockPanel.Dock="Right" /> 7: <Button Content="ButtonF" DockPanel.Dock="Bottom" /> 8: <Button Content="ButtonG" /> 9: </DockPanel>| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |