【WPF】WPF中的布局元素

2019-05-16  本文已影响0人  UnicornChen

WPF作为专业的界面技术,布局功能是它的核心技术之一。友好的用户界面和良好的用户体验离不开设计精良的布局。日常工作中,WPF设计师最大的工作量就是布局和动画。除了点缀型的动画之外,大部分布局都是动画间的转换,UI布局的重要性可见一斑。布局是静态的,动画是动态的,用户体验就是用户在这动静之中与软件功能产生交互式的感受。

布局元素

Grid:          网格。可以自定义行和列并通过行列的数量、行高列宽来调整控件的布局。近似于Html中的table。

StackPanel:栈式面板。可将包含的元素在水平或垂直方向排成一条线,当移除一个元素后,后面的元素会自动向前填充空缺。

Canvas:      画布。内部元素可以使用以像素为单位的绝对坐标进行定位,类似于Windows Form的布局方式。

DockPanel: 泊靠式面板。内部元素可以选择泊靠的方向,类似于Winform中设置控件的Dock属性。

WrapPanel: 自动折行面板。内部元素在排满一行后能够自动折行,类似于Html中的流式布局。

【Grid】

特点:

可以定义任意数量的行和列,非常灵活。

行的高度和列的宽度可以使用绝对值、相对比例或自动调整的方式进行精确设定,并可以设置最大和最小值。

内部元素可以设置自己所在的行和列,还可以设置自己纵向跨几行,横向跨几列。

可以设置Children元素的对齐方向。

基于以上这些特点,Grid的适用场合有:

UI布局的大框架设计。

大量UI元素需要成行或者成列对齐的情况。

UI尺寸改变的时候,元素需要保留固有的宽度和高度比例。

UI后期可能有较大的变更或扩展。

【StackPanel】

使用场合:

同类元素需要紧凑排列(如制作菜单和列表)。

移除其中的元素后能够自动补缺的布局或者动画。

【Canvas】

使用场合:

一经设计,基本上不用再有改动的小型布局。(如图标)

艺术性较强的布局。

需要使用大量纵横坐标来进行绝对定位的布局。

依赖纵横坐标的动画。

【DockPanel】

【WrapPanel】

上一篇 下一篇

猜你喜欢

热点阅读