第一天,wpf 需要知道的(2)
wpf 是微软下一代的富用户界面设计框架,包含在.net framework 3.0 及以上版本中。wpf 包含了用户界面,2d,3d,以及多媒体在同一个框架中。它是基于向量的表现引擎并可以使用显卡的硬件加速。这种设计使界面更快并解决了分辨率的显示问题。下面的图将会看到wpf 新功能,还是英文的,有空画个中文的。
表现与代码的分离
wpf 将表现与代码开分,界面方面用xaml ,代码控制方面用c#.或vb 这两部分用数据绑定(databinding),事件(events)和命令(commands)结合在一起.代码分离的将带来下列好处,其实代码分离这种概念早就有。不是wpf 独创。
- Appearance and behaviour are loosely coupled(不知道怎么解释,低耦合?)
- Designers and developers can work on separate models.(设计者与代码编写者可以很好的分开合作)
- Graphical design tools can work on simple XML documents instead of parsing code.(图形的设计工作可以用xml 而不用解析代码)
其实就是让大家更好的分工,配合。各作各的事。
更丰富的组合
在wpf 中控件是非常容易组合,你几乎可以定义任何的控件做为其它控件的内容。当然听起这对于设计者来说太吓人了的
,不过只要你运用的恰当这可是很强大地。将图片放入按钮就变成图片按钮,所视频列表放入多行文本框就可以来改变视频文件了。发挥你的想象吧。世界因你而变(像广告)
以下代码就照搬了,这个我可不敢翻译。
<Button> <StackPanel Orientation="Horizontal"> <Image Source="speaker.png" Stretch="Uniform"/> <TextBlock Text="Play Sound" /> </StackPanel> </Button>
不翻译可以解释一下,定义一下按钮,并在里面放入一个StackPanel 容器,stackpanel是一个让控件按横向或纵向排放的容器,在这个容器中放入一个图片控件,一个文字控件。
高定制性
因为代码的分离你可以更容易的改变一个控制,style使用起来就像html里的css 一样容易,templates更可以改变整个控件。下面就是一个标准wpfbutton 以及一个自定义button
独立于分辩率
在wpf中是基于矢量的而不是像素,wpf都用向量来描述的。
也就是说放大也不会有像素块。