WPF布局原则
WPF系统使用基于流布局的布局标准,开发人员创建与显示分辨率和窗口大小无关的用户界面。在不同显示器上可以进行很好的缩放。
首先来谈一谈布局原则:
WPF窗口只能包含一个元素(Window元素属于内容控件,内容控件只允许有一个子元素),所以我们得在窗口中放置一个容器,才能使我们的窗口放置更多的内容。
所以在WPF中,布局由容器决定,使用容器布局需要注意以下几点:
- 不要显示设置元素的尺寸:可以通过设置最大和最小尺寸来限定范围。
- 不要使用屏幕坐标来指定元素位置:根据元素在那种容器中,来合理安排元素的位置。如需要元素之间留白,可以使用Margin设置边距。
- 可以嵌套布局容器:新建WPF程序会默认提供一个Grid容器,但是我们仍可在Grid中添加容器来安排我们的布局。
接下来谈一谈布局过程:
WPF布局包括两个阶段:
- 测量阶段:容器遍历所有的子元素,询问子元素的期望的尺寸;
- 排列阶段:在合适的位置放置子元素。
WPF中都的布局容器:
所有WPF容器都继承自"面板(Panel)"抽象类,面板类提供了三个通用属性:
- BackGround:用于为面板背景色着色的画刷
- Children:面板中存储的条目集合
- IsItemHost:面板中的ItemsControl控件是否关联
Panel类的层次结构:
WPF提供的核心布局面板: