预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共16页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

··第19章WPF开发基础在Vista和WindowsSeven火热发布的今天,很多用户都被Vista的特效所吸引,Vista和的WindowsSeven的3D特效,以及毛玻璃等效果给操作系统带来了更新更好的用户体验,在这一系列功劳的背后,WPF占据着不小的功劳。19.1了解WPFWPF(WindowsPresentationFoundation)原代号为“Avalon”,是微软的新一代图形系统。WPF基于.NET3.0构架,为开发人员进行Windows应用程序开发和2D/3D图形和多媒体提供了统一的描述方法。对于开发人员而言,WPF开发非常的简单,只要开发人员有一定的.NET基础,都能够快速上手WPF应用程序开发。19.1.1什么是WPFWPF(WindowsPresentationFoundation)是微软的新一代图形系统,为用户界面、2D/3D图形、文档和媒体提供了统一的描述和操作方法。基于DirectX9和Direct10技术的WPF不仅带来了非常绚丽的3D界面,而且其图形向量渲染引擎也大大改进了传统的2D界面,使得传统的2D界面可以模拟毛玻璃、3D等特效。对于开发人员而言WPF提供了统一的WindowsForm应用程序开发方法,并且开发人员通过使用WPF技术,能够使得WindowsForm应用程序像动画一样展现在用户面前,用户能够得到良好的用户体验。WPF包含两个部分,这两个部分分别为引擎和编程框架。1.WPF引擎WPF引擎为开发人员和设计人员提供了统一的设计文档,开发人员能够像普通的WindowsForm应用程序一样进行逻辑编程,设计人员能够通过使用XAML语言描述WindowsForm应用程序中各个控件的风格,以实现动画效果。WPF引擎还为设计人员提供了基于浏览器的体验、基于窗体的应用程序、图形、视频、音频和文档提供了一个单一的运行时库,WPF让传统的WindowsForm应用程序能够利用起现有的硬件软件资源,充分的利用Direct功能和硬件的编码解码功能进行窗体和控件的渲染。2.WPF框架WPF框架为媒体、用户界面设计和文档提供的解决方案比开发人员现有的解决方案都要好,WPF框架在设计时考虑了可扩展性和可维护性,开发人员能够在WPF中创建自己的控件,还可以通过对现有的WPF控件进行改造创建新的WPF控件。WPF框架是用于形状、图像、视频、动画、文档、三维,以及用于放置控件和内容的面板的一系列控件,这些控件和内容的面板的一系列控件是WPF框架的核心。WPF应用程序提供了若干WPF应用程序开发所需要的控件,开发人员同样能够对控件进行拖放操作实现应用程序布局和开发。3.XAML基本概念WPF应用程序引入了XAML,XAML是基于XML文档格式的一种标记语言,XAML能够描述Windows应用程序和用户界面。开发人员和设计人员能够使用XAML语言进行代码和界面布局的可重用性控制。而对于Web开发者而言,XAML是基于标记语言的,XAML同样包括属性描述,对于Web开发者,也能够轻松的使用XAML描述WPF应用程序。WPF(WindowsPresentationFoundation)为开发人员和设计人员提供了统一的图形、图像、界面、文档等设计和开发的统一的运行和操作方法,WPF使现有的Window应用程序能够充分的利用硬件软件的资源进行应用程序窗口渲染和优化,给用户以全新的Windows窗体应用程序体验。19.2WPF的应用范围在现有的Window应用程序中,对于已经成熟的传统的WinForm应用程序而言,为何还要抛弃现有的成熟技术而使用WPF技术开发Window应用程序呢?在传统Window应用程序开发中,应用程序的表现形式往往是非常死板的,应用程序窗体很难实现像Web应用和Flash中的渲染效果,例如图形图像的渲染和文本的渲染。虽然现今对渲染的方法有很多其他的解决方案,包括遨游等浏览器的JavaScript渲染,但是这些都是将Window应用程序和Web应用程序整合的解决方案,并没有完全的解决Window应用程序中对窗体本身的渲染的困难问题。在Vista应用程序开发中,Vista将应用程序窗体进行了效果的渲染,并没有使用Web应用的解决方案,直接通过WPF进行窗体和控件的渲染,实现了半透明等效果,让用户耳目一新,提高了用户体验。如图19-1所示。图19-1Windows窗体图形渲染随着互联网和硬件的发展,显卡等硬件已经能够辅助CPU的运算实现动态解码,让CPU的使用率变得更低,让CPU专注处理内核运算,从而能够让网络游戏等大型的需要图形