布局原则
- 空间的尺寸可以自适应。(要实现这样的效果需要不显式的指定控件尺寸,而是设置控件尺寸的最大最小值)
- 不设置绝对定位,使用相对定位(比如使用margin就是相对定位而非绝对坐标)
- 布局控件能为子控件合理分配尺寸
- 布局控件可以嵌套布局控件
类关系
布局控件都派生自Panel(类关系可以在之前的文章中找到)。Panel是一个抽象类,提供了一些公共属性。
注意1:当我们在实际工作中,会出现点击区域过小或者需要扩大点击区域的问题,比如一个大的Grid中居中放置一个图片,挂载点击事件之后,有时候会遇到只有图片的范围才能点击的问题,其实解决办法就在上图中,Background为空值不接收点击事件,只需要将背景设置为透明即可。
注意2:Children中还可以防止Panel达到嵌套布局的作用
IsItemHost属性比较复杂我们在之后的讲解中再深入讨论。
布局控件
常用
- StackPanel
- WrapPanel 可以换行
- DockPanel
- Grid