指引网

当前位置: 主页 > 编程开发 > .NET >

VS2008 和.NET Framework3.5新功能及相关技术

来源:网络 作者:佚名 点击: 时间:2017-11-17 03:48
[摘要] XAML:扩展的应用标记语言,XAML是eXtensible Application Markup Language的英文缩写,相应的中文名称为可扩展应用程序标记语言,它是微软公司为构建应用程序用户界面而创建的 一种新的描述性语言。

    XAML:扩展的应用标记语言,XAML是eXtensible Application Markup Language的英文缩写,相应的中文名称为可扩展应用程序标记语言,它是微软公司为构建应用程序用户界面而创建的  一种新的描述性语言。XAML提供了一种便于扩展和定位的语法来定义和程序逻辑分离的用户界面,而这种实现方式和ASP.NET中的"代码后置"模型非常类似。也就是说在开发一个应用程序时,我们可以将开发工作分成开发人员和设计人员两个团体分别进行,各自负责后台程序代码逻辑和前台程序界面的设计,这样就使得开发人员和设计人员之间的协作更通畅,也极大地发挥了他们的专长。

    提示:XAML的发音为"Zamel",笔者经常开玩笑地将其读成"折磨"。虽然XAML包含了许多新规则、元素和语法,但是我并不认为学习它是一个折磨人的过程。只要读者稍微具备一些HTML基础知识,就可以快速地掌握XAML中的大部分内容。

    提示:如今在WPF的官方网站上已经提供了一些很实用的工具,可以将其他格式的图形文件转换为XAML文件的形式。例如我们就可以将3DMax制作出的3D动画转换为XAML,这样WPF程序就可以直接通过转换好的XAML文件产生和3DMax制作出的3D动画相一致的效果。

    XBAP: XAML的应用浏览器,XAML Browser Application.

    JSON:(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

    Fx3.5: 它的全称是 .Net Framework 3.5;

    NETCF:……Net Framework3.5的精简版

    WPF: Windows Presentation Foundation; 一个更有生产力的、更统一的用来管理用户界面、文档及多媒体等的模型,基于。NET 3.0的产品;现在,Windows Presentation Foundation(WPF)这个名词已经不再新鲜,至少对很多关注前沿技术的开始人员而是这样的。Windows Vista已经正式发布,新的开发平台。NET Framework 3.0也开始逐步进入到人们的视野之中,并得到了更多的焦点。

    作为下一代的图形系统,WPF所带来的新概念、新的技术也相当的庞大、复杂。现在,在。NET相关领域的开发中,用户界面主要由Windows Forms或者Web Forms实现。虽然Windows Forms已经出现了很多年,也提供了快速、高效的功能。但是,Windows Forms开发的UI界面相对比较单调,而且经过。NET Framework封装后的开发库在自定义和各种底层功能上缺少真正的支持。下面,我们将看看WPF是如何提供一种快速、高效、而且更加震撼的用户界面开发技术的。在WPF中,引入一种新的图形合成引擎。可以提供更高丰富的图形显式合成,而且不会有任何的窗口闪烁问题。这种新的显式提交引擎与传统的Win32、Windows Forms相比主要有两个优点:

    所有的每个窗口元素都可以任意的交替重叠。

    所有的合成操作都是Direct3D中的离屏表面(Off-screen Surface)中实现的。

    在这种新的方式中,元素的背景变得不再是必须的。比如,我们希望在窗口中显式一个文字字符串,通常,在Win32或者Windows Forms中显式的效果如同一个静态文本标签一样:它具有系统默认的控件背景色。而在WPF中,文本字符串会直接画到目标位置,而不管目标区域的背景颜色。

    在WPF的实现中,每个画图对象都对应于一个离屏表面。显式窗口时不是直接地在屏幕显式区域进行的,而是利用显式卡提供的额外的离屏表面内存中。当画图操作在离屏表面中完成了之后,合成提交引擎再把每个需要显式离屏表面合成为一个单独的可显式表面。这种显式方式不再需要我们用传统的双缓冲绘图来避免窗口闪烁,这项功能已经有WPF默认实现了。

    同时,离屏表面的使用也可以更加方便的利用显式卡GPU(图形处理单元,Graphics Processing Unit)来实现放索、旋转、变换等等。这也就意味着这些普通的3D功能也能很方便的在WPF中实现了。

    关于离屏表面需要注意一点:不要错误的理解为WPF一定需要使用现代的图形显式卡(具有丰富功能的3D显式卡)。的确,在将来实现真正的3D用户界面是可能的。但是,WPF做了很大的努力来充分的利用GPU,把3D的元素抽象、封装后,让人们用类似2D的编程来实现3D的功能。

------分隔线----------------------------