第一天,wpf 需要知道的(2)

     wpf 是微软下一代的富用户界面设计框架,包含在.net framework 3.0 及以上版本中。wpf 包含了用户界面,2d,3d,以及多媒体在同一个框架中。它是基于向量的表现引擎并可以使用显卡的硬件加速。这种设计使界面更快并解决了分辨率的显示问题。下面的图将会看到wpf 新功能,还是英文的,有空画个中文的。第一天,wpf 需要知道的(2)

 

  
第一天,wpf 需要知道的(2)
 

表现与代码的分离

   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>


第一天,wpf 需要知道的(2)
  

不翻译可以解释一下,定义一下按钮,并在里面放入一个StackPanel 容器,stackpanel是一个让控件按横向或纵向排放的容器,在这个容器中放入一个图片控件,一个文字控件。

 

 

高定制性

    因为代码的分离你可以更容易的改变一个控制,style使用起来就像html里的css 一样容易,templates更可以改变整个控件。下面就是一个标准wpfbutton 以及一个自定义button

 


第一天,wpf 需要知道的(2)
 

独立于分辩率

  在wpf中是基于矢量的而不是像素,wpf都用向量来描述的。

 
第一天,wpf 需要知道的(2)
 也就是说放大也不会有像素块。