UI布局(Layout)
2016-01-07 19:11
435 查看
WPF中的布局元素有:Grid(网格)、StackPanel(栈式面板)、Canvas(画布)、DockPanel(泊靠式面板)、WrapPanel(自动折行面板)
1、Grid
适用场合:(1)UI布局的大框架设计(2)大量UI元素需要成行或者成列对齐(3)UI整体尺寸改变时,元素需要保持固有的高度uhe宽度比例(4)UI后期可能有较大改变或扩展
(1)定义Grid的行与列--ColumnDefinitions和RowDefinitions,对于Grid的行高和列宽,可设置三类值:绝对值(double数值加单位后缀)、比例值后加一个星号("*")--大小随界面的改变而改变、自动值(字符串Auto)
(2)使用Grid进行布局,为控件指定行和列遵循以下规则:行和列都是从0开始计数;指定一个控件在某行,就为这个控件的标签添加Grid.Row="行编号"这样一个属性,若行编号为0(即控件处于首行)则可省略这个Attribute;指定一个控件在某列,同行;弱控件需要跨多个行或列,使用Grid.RowSpan=“行数”和Grid.ColumnSpan="列数"两个Attribute。
2、StackPanel
适用场合:(1)同类元素需要紧凑排列(如制作菜单或者列表);(2)移除其中的元素后能够自动补缺的布局或者动画。
使用Orientation、HorizontalAlignment和VericalAlignment这3个属性控制内部元素的布局。
3、Canvas
Canvas译为中文是“画布”的意思。当控件被放置在Canvas里时就会被附加上Canvas.X和Canvas.Y的属性
适用场合:(1)一经设计基本不会再有改动的小型布局(如图标);(2)艺术性比较强的布局;(3)需要大量使用横纵坐标进行绝对点定位的布局;(4)依赖于纵坐标的动画。
4、DockPanel
DockPanel内的元素会被附加上DockPanel.Dock这个属性。根据Dock属性值,DockPanel内的元素会向指定方向积累、切分DockPanel内部的剩余可用空间,就像船舶靠岸一样。DockPanel的另一个属性LastChildFill,默认为True。当LastChildFill为True时,DockPanel内最后一个元素的DockPanel。Dock属性值会被忽略,这个元素会把DockPanel内部所有剩余空间充满。
5、WrapPanel
WrapPanel内部采用的是流式布局。WrapPanel使用Orientation属性来控制流延伸的方向,使用HorizontalAlignment和VerticalAlignment两个属性控制内部控件的对齐。
1、Grid
适用场合:(1)UI布局的大框架设计(2)大量UI元素需要成行或者成列对齐(3)UI整体尺寸改变时,元素需要保持固有的高度uhe宽度比例(4)UI后期可能有较大改变或扩展
(1)定义Grid的行与列--ColumnDefinitions和RowDefinitions,对于Grid的行高和列宽,可设置三类值:绝对值(double数值加单位后缀)、比例值后加一个星号("*")--大小随界面的改变而改变、自动值(字符串Auto)
(2)使用Grid进行布局,为控件指定行和列遵循以下规则:行和列都是从0开始计数;指定一个控件在某行,就为这个控件的标签添加Grid.Row="行编号"这样一个属性,若行编号为0(即控件处于首行)则可省略这个Attribute;指定一个控件在某列,同行;弱控件需要跨多个行或列,使用Grid.RowSpan=“行数”和Grid.ColumnSpan="列数"两个Attribute。
2、StackPanel
适用场合:(1)同类元素需要紧凑排列(如制作菜单或者列表);(2)移除其中的元素后能够自动补缺的布局或者动画。
使用Orientation、HorizontalAlignment和VericalAlignment这3个属性控制内部元素的布局。
3、Canvas
Canvas译为中文是“画布”的意思。当控件被放置在Canvas里时就会被附加上Canvas.X和Canvas.Y的属性
适用场合:(1)一经设计基本不会再有改动的小型布局(如图标);(2)艺术性比较强的布局;(3)需要大量使用横纵坐标进行绝对点定位的布局;(4)依赖于纵坐标的动画。
4、DockPanel
DockPanel内的元素会被附加上DockPanel.Dock这个属性。根据Dock属性值,DockPanel内的元素会向指定方向积累、切分DockPanel内部的剩余可用空间,就像船舶靠岸一样。DockPanel的另一个属性LastChildFill,默认为True。当LastChildFill为True时,DockPanel内最后一个元素的DockPanel。Dock属性值会被忽略,这个元素会把DockPanel内部所有剩余空间充满。
5、WrapPanel
WrapPanel内部采用的是流式布局。WrapPanel使用Orientation属性来控制流延伸的方向,使用HorizontalAlignment和VerticalAlignment两个属性控制内部控件的对齐。
相关文章推荐
- UIImageView 的 contentMode
- 蓝懿IOS学习之UITableView
- UITextFiled的LeftView
- 关于UITextView的几种回收键盘的方法
- 程序员面试问题1:数组问题 Programming Interview Questions 1: Array Pair Sum
- php生成UUID
- django实现用户登陆访问限制@login_required
- PV、UV、UIP、VV、CPC、CPM、RPM、CTR是什么意思?
- 使用druid连接池的超时回收机制排查连接泄露问题
- 样例问题 Example question for A4M33MPV course
- 出现could not build module foundation错误
- Android Stuido怎样查看快捷键冲突?
- java-对象的生命周期及AndroidUI卡顿
- easyui中方向键、tab键、回车键
- 既然有了点方法为啥还要用valueForKey
- 【学习笔记】NGUI中为Popup Menu添加点击事件响应
- 2016-01-07 UIToolbar
- 老李分享:接电话之uiautomator 2
- UITableViewCell的选中颜色修改
- 老李分享:接电话之uiautomator 1