原文:http://www.cnblogs.com/asia/archive/2009/09/01/1558001.html
1. Grid布局
2. StackPanel布局
grid布局:
用<RowDefinition>和<ColumnDefinition>属性类定义行和列
Height高度,Width宽度
用Grid.Row,Grid.Column附加属性
Grid.RowSpan,Grid.ColumnSpan用来跨行
HorizontalAlignment水平对齐方式,VerticalAlignment垂直对齐方式
Margin边距
Background设置控件的背景颜色
ShowGridLines 显示行和列的分割线
详见(http://msdn.microsoft.com/zh-cn/library/system.windows.controls.grid_properties.aspx)
栗子:
<Grid.RowDefinition>
<RowDefinition Height=" "/> (*号位倍数)
</Grid.RowDefinition>
<Rectangle Fill=" Color" Height="Number " Grid.Row="Number"/>
说明:
(1) Grid.RowDefinitions元素定义行,每个RowDefinition代表一行。
(2) Grid.Columdefinitons来声明一列。Height表示该行的高度,width表示列的宽度。其中”*”表示该行的高度和宽度基于可用空间(去掉其它固定高度行的高度)的加权比例
(3) Grid.Row指定控件所在行.
(4) Grid.Column指定控件所在列.
(5) Grid.ColumnSpan控件横跨行的数目.这样上面就定义好一个2行2列的Grid“表格”。并且在表格里面存放控件。当然在布局时也可以Grid里面嵌套Grid。总之,在布局时我们只要将一个区域分成n行m列,用控件填充单元格即可完成。
StackPanel布局:
Orientation: 表示stackpanel控件内部的元素的排列方向,有2个值,Vertical是垂直方向排列,Horizontal是水平方向排列。默认值是Vertical 。
Background:设置控件的背景颜色。
详见(http://msdn.microsoft.com/zh-cn/library/system.windows.controls.stackpanel_properties.aspx)
说明:
(1) Background="Azure" Orientation="Vertical" Grid.Column="0" Grid.Row="0" 表示这个stackpanel控件的背景颜色Azure,里面元素是垂直排列的, stackpanel在Grid的第1行第1列单元格。
(2) 依次在stackpanel的垂直方向排列着三个控件,控件的属性暂不解释,对里面涉及到的定位属性解释一下。HorizontalAlignment设置在父元素(如面板或项控件)中构成此元素时应用于此元素的水平对齐特征。本例是靠左对齐。margin属性是用于在一个声明中设置四个外边距的所有属性的简写属性。