4、WrapPanel:自动折行面板(环绕面板)。
内部元素在排满一行后能够自动折行,类似于Html中的流式布局
WrapPanel布局页面将各个控件从左至右按照行或列的顺序罗列,当长度或高度不够时就会自动调整进行换行,后续按照从上至下或从左至右的顺序进行
- Orientation—根据内容自动换行。当Orientation属性的值设置为Horizontal:元素是从左向右排列的,然后自上至下自动换行。当Orientation属性的值设置为Vertical:元素从上向下排列的,然后从左至右自动换行。
- ItemHeight—所有子元素都一致的高度。每个子元素填充高度的方式取决于它的VerticalAlignment属性、Height属性等。任何比ItemHeight高的元素都将被截断
- ItemWidth—所有子元素都一致的宽度。每一个子元素填充宽度的方式取决于它的VerticalAlignment属性、Width属性等。任何比ItemWidth宽的属性都将被截断
- Orientation属性的值设置为Horizontal
- Orientation属性的值设置为Vertical
5、UniformGrid:均分布局。
横向的网格分割、纵向的网格分割分别是均等分的分割布局类型,各个单元的大小完全相同,宽和高分别相同
介绍了前面的Grid,接下来介绍的这个UniformGrid就是Grid的简化,每个单元格的大小相同,不需要定义行列集合。每个单元格始终具有相同的大小,每个单元格只能容纳一个控件,将自动按照定义在其内部的元素个数,自动创建行列,并通常保持相同的行列数。
UniformGrid中没有Row和Column附加属性,也没有空白单元格
与Gride布局控件相比,UniformGrid布局控件很少使用。Grid面板是用于创建简单乃至复杂窗口布局的通用工具。UniformGrid面板是一个一种更特殊的布局容器,主要用于在一个刻板的网格中快速地布局元素
UniformGrid布局面板和Grid面板相似,将子元素按照行列的方式排列,但是可以和Grid有以下不同:
- 不需要指定行和列的大小
- 所有列都是相同的宽度
- 所有行都是相同的高度
- 要指定预期的行和列的数目
- 不需要给子元素指定所在的行和列
6、Canvas:画布。
内部元素可以使用以像素为单位的绝对坐标进行定位,类似于Window Form 的布局方式
画布,用于完全控制每个元素的精确位置。他是布局控件中最为简单的一种,直接将元素放到指定位置,主要用来布置图面。
使用Canvas,必须指定一个子元素的位置(相对于画布),否则所有元素都将出现画布的左上角。调整位置用left、right、top和bottom四个附加属性
如果Canvas是窗口主元素(既最外层的布局面板是Canvas),用户改变窗口大小时,Canvas也会随之变化,子元素的位置也会随之移动,以保证相对于Canvas的位置属性不变
Canvas允许子元素的部分或全部超出其边界,默认不会裁剪子元素,同时可以使用负坐标,既溢出的内容会显示在Canvas外面,这是因为默认ClipToBounds=”False”,因此画布不需要指定大小。如果想复制画布内容,将ClipToBounds设为true即可。
超出部分不进行裁剪ClipToBounds=”False”
超出部分进行裁剪 ClipToBounds=”True”
注意:要说明一点Canvas内的子控件不能使用两个以上的Canvas附加属性,如果同时设置Canvas.left和Canvas.Reight属性,那么后者将会被忽略
希望可以帮助到你们。
以上就是我的分享,新手上路,请多多指教。如果有更好的方法或不懂得地方欢迎在评论区教导和提问喔!