WPF界面布局知识点总结

WPF的布局主要分为以下几类,从而为界面提供基本的块结构,这里基本使用场景:

StackPanel 使用水平或垂直堆叠的方式放置元素。该面板非常简单,但是非常有用,适用于一些
小范围的布局
WarpPanel 当水平方向时,从左到右的布局子元素。当可用的宽度不够时,则开启一个新的行再
进行从左到右的排列。当垂直方向时,从上到下地排列子元素。当高度不够时,则开
启一个新的列从上到下进行排列
DockPanel 使子元素依赖于容器的特定边缘,比如左、右、上、下边缘等。该面板通常用于全局
布局。比如,在一个Window上先使用DockPanel划分几个大的区域,然后就可以使用
Grid进行详细地布局
Grid Grid是WPF中最强最好用的布局控件。该控件类似于一个不可见的HTML表格,将子
元素放置在特定的行和列中。这是最灵活和最通用的布局控件
UniformGrid 放置子元素在一个不可见的表格中,但是强制所有的单元格都具有相同的尺寸。如果
要开发一个五子棋游戏,可以考虑使用这个控件。但是在用户界面的布局中,使用得
比较少
Canvas 使用固定的坐标来绝对定位子元素。这与传统的Windows Forms布局方式类似,但是没
有提供Anchoring和Docking特性。在处理图形图像的场合,使用这个控件非常有用,
但是在动态用户界面来说,这个控件将会事半功倍

1.如果要实现WinFrom中的Dock = Fill类似的效果,可以添加一个Grid布局,之后在里面放置控件即可,这个控件相对于外面的Grid布局就是Dock=Fill效果,或者用DockPanel布局记住,设置 LastChildFill="True",WPF的思路是先有布局再有内容。

2.不用canvas也可以做层叠效果,在Grid布局里面放多个Grid就行,不设置外面Grid的行定义和列定义,里面的Grid布局就会层叠,后面的会盖在前面的之上,可以设置后面布局的透明度查看到此显示效果。

3.如果涉及到布局缩放,ViewBox经常会用到,不过它只能含有一个布局元素,这意味着里面的所有元素内容都可能会进行缩放拉伸。ViewBox经常配合Canvas布局使用,进行矢量绘图。

4.动画经常需要更精确地控制元素的尺寸和位置,对于能应用动画的内容,最常用的布周容器是 Canvas 面板,因为Canvas 面板允许更方便地移动内容(可能相互重叠)以及改变内容的尺寸。

5.GridSplitter 对象必须放在 Grid 单元格中,最好预留一列或一行专门用于放置GridSplitter对象。

6.如果确实需要指定某些控件的大小,建议使用 Margin 属性,该属性将相对于网格的边缘进行调整控件的大小。

发布了120 篇原创文章 · 获赞 50 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/u014650759/article/details/95517870