WPF编程宝典--布局番外篇
写在前面
布局容器是WPF中比较关键的一部分,我们在初步学习的时候只掌握了基础部分的布局容器,比如Grid,Canvas等,虽然也能满足我们的简单开发,但是在一些特殊的环境中,我们可能使用一些进阶的容器,所以今天我为同学们讲解两个分别由Grid和Canvas衍生出来的进阶容器。
UniformGrid
看名字也能知道,这是一个由Grid衍生而来的容器。虽说是衍生但是,UniformGrid却比Grid简单很多,也更加容易使用,首先UniformGrid内部的控件都是相同大小的,只需要设置属性Columns和Rows,你就能得到一个被完美等量分配的多个空间。怎么样是不是很方便,而且就算你没有设置Columns和Rows,他也会根据容器其中控件的数量来分配控件,注意每个控件都是相同的。也就是说,如果有个控件特别大,其他控件所在的空间也会变得一样大。
下面为大家写一段简单的应用代码:
<UniformGrid>
<Button Content="ButtonA" />
<Button Content="ButtonB" />
<Button Content="ButtonC" />
<Button Content="ButtonD" />
<Button Content="ButtonE" />
<Button Content="ButtonF" />
<Button Content="ButtonG" />
<Button Content="ButtonH" />
</UniformGrid>
UniformGrid虽然是Grid的衍生,但好像这个容器的应用面比较小。但是在需要的时候使用确实很方便。
InkCanvas
这个就是Canvas的衍生容器了,InkCanvas跟UniformGrid不一样,算得上是青出于蓝而胜于蓝,他完美的继承了Canvas的所有功能,而且还能留下痕迹。这么说你可能不太了解。我直接上代码
<InkCanvas>
<InkCanvas.DefaultDrawingAttributes>
<DrawingAttributes Color="Red" />
</InkCanvas.DefaultDrawingAttributes>
</InkCanvas>
写在结尾
今天讲了两个衍生的容器,将这些容器只是为了抛砖引玉,真正想要传达的思想是,不要被旧的框架和方法束缚,我相信你也可以构建出最适合你使用的容器和控件。后面有机会可以教同学们怎么创建自定义容器。