欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

WPF布局容器

程序员文章站 2023-11-08 14:18:04
1.StackPanel:堆栈面板,通过Orientation属性设置子元素的布局排列方向为“Vertical”(垂直)和“Horizontal”(水平),不写其默认值为“Vertical”,当设置为“Vertical”时子元素会沿垂直方向拉伸,反之设置为“Horizontal”时子元素会沿水平方向 ......

1.stackpanel:堆栈面板,通过orientation属性设置子元素的布局排列方向为“vertical”(垂直)和“horizontal”(水平),不写其默认值为“vertical”,当设置为“vertical”时子元素会沿垂直方向拉伸,反之设置为“horizontal”时子元素会沿水平方向拉伸。

2.dockpanel:支持子元素停靠在面板的任意一条边上,通过附加属性dock控制他们的停靠位置(left、top、right、bottom),填充空间按照“先到先得”的原则,最后一个加入面板的子元素将填满剩下的空间,如不想将最后加入面板的元素填满剩下的空间将属性lastchildfill值设为“false”,默认为“true”。

3.wrappanel:可换行面板与stackpanel相似,通过orientation属性设置子元素的排列顺序,从左至右按顺序位置定位子元素,当前行无法放下元素时断开至下一行,或者排序按照从上至下或从右至左的顺序进行,通过itemheight可以设置当前面板中所有子元素的高度,当然也有itemwidth设置所有子元素的宽度。

 4.canvas:面板是最轻量级的布局容器,它不会自动调整内部元素的排列和大小,不指定元素位置,元素将默认显示在画布的左上方。canvas主要用来画图。canvas默认不会自动裁剪超过自身范围的内容,即溢出的内容会显示在canvas外面,这是因为canvas的cliptobounds属性默认值是“false”,我们可以显式地设置为“true”来裁剪多出的内容。下面xaml代码简单演示了canvas面板的使用。

5.grid:比起其他panel,功能是最多最为复杂的布局控件。它由<grid.columndefinitions>列元素集合和<grid.rowdefinitions>行元素集合两种元素组成。而放在grid面板中的元素必须显式采用附加属性定义其所在行和列,否则元素均默认放置在第0行第0列。