我的IT技术成长之路(软件即服务和微软的新一代技术(WPF和WCF)

和大家探讨面向对象技术问题和软件即服务的架构实现模式
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

WPF介绍之二--WPF:更高层次的API

Posted on 2008-11-02 17:29  Ryan.ZH  阅读(801)  评论(0)    收藏  举报

WPF:更高层次的API

如果wpf所承担的事情仅仅是通过DirectX来进行硬件加速的话,这的确是一个令人振奋的改进,但却不是革命性的。但是,WPF实际上包含了很多为应用程序开发人员设计的高层次的服务。

下面是WPF引入到变成世界中的最令人振奋的变化的列表:

 

Web外观的布局模型

同通过指定具体的坐标来固定控件相比,WPF强调灵活的流布局。它的实现不要依赖于它们的内容属性(Content)。这样做的结果就是用户界面可以通过改编来展示高度动态的内容和语言。

丰富的绘图模型

WPF中处理简单的元素――基础图形,文本块和其他的图形元素不是通过绘制象素来完成的。你同样也可以使用新的功能,像:真实透明度控件(True transparent control),对栈中多个层(layer)应用不同的透明度,以及与生俱来的3D支持。

丰富的文本模型

在使用一些功能薄弱的控件,如Label,进行不合格的文本处理的几年后,WPF终于赋予了Windows应用程序在用户界面的任何地方展示样式丰富的文本的能力了。你甚至可以将文本同列表(List),floating figure和其他的用户界面元素结合起来。并且如果你需要展示大量的文本,你可以使用高级的文档(document)来展示如卷起(Wrapping),列(Column)和自动调整(justification)等特性以提高可读性。

动画:一流的设计理念

是的,你可以使用一个计时器来强制一个窗体重新绘制,以达到动画的目的。但在WPF中,动画是Framework固有的一部分,定义动画只只需要声明一个标签,WPF会自动让它们“动”起来。

 

支持音频和视频媒体

之前的用户界面工具,像Windows窗体,在处理多媒体是竟然出人意料的有很多的限制。但是WPF有通过Windows 媒体播放器支持播放任何音频和视频文件的能力,并且它允许一次同时播放多个媒体文件。更令人难忘的,它给你提供了工具,允许你将视频内容整合进用户界面的其他元素中。因而可以实现一些奇异的效果,像将视频窗口放在一个3D立方体上。

样式和模板

样式允许你将格式标准化并且在你的应用程序中重用它。模板允许你更改每个元素的渲染方式,即使是像按钮这样的核心元素。从来没有这么容易就可以构建时尚的界面(Modern Skinned interface)。

 

命令

大多数的用户都明白,无论它们是通过一个菜单还是一个工具条触发开放的

命令,得到的结果都是一样的。你可以将你的命令代码提取放在一个地方,并可以让多个控件都链接到这段代码。

可声明的用户界面

尽管你可以通过代码构造WPF窗口,Visual Studio去采用了一个不同的方式。它将每一个Windows内容序列化成为一个XAML文档中的XML标签集合。这样做的好处就是用户界面完全从代码中独立出来,界面可以使用专业的工具通过编辑你的XMAL文档来设计,并可优化应用程序的前端(front end)。

基于页的应用程序

使用WPF,你可以构建类似浏览器方式的应用程序,允许你在一组页面之间跳转,使用向前、向后按钮来导航。WPF会处理输入页面历史等方面的细节。你可以将你的项目部署为基于浏览器的应用程序,在IE浏览器中运行。