您的位置:首页 > 产品设计 > UI/UE

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两个属性控制内部控件的对齐。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: