[WPF系列]基础学习(一) WPF是什么?

时间:2023-03-09 16:13:27
[WPF系列]基础学习(一) WPF是什么?

引言

学习之前,我们首先大概了解下WPF诞生的背景以及它所能解决的问题或者新颖之处。WPF作为微软新一代的用户界面技术,

 

WPF简介

WPF的全称是WindowsPresentationFoundation,是微软新发布的Vista操作系统的三大核心开发库之一,其主要负责的是图形显示, 所以叫Presentation(呈现)。

 

微软公司早在2003年洛杉矶的PDC上就公布了一个代号为Avalon的项目,他们将其视为下一代用户界面技术,并且得到了开发者和用户的一致赞同。在2005年的PDC上,微软公司展示了比2003年更加完整的Avalon版本,并给它取了一个官方新名称:WindowsPresentationFoundation(WPF),现在WPF已经发展到了4.5版本

 

作为新的图形引擎,WPF是基于DirectX的,当然增加了很多新的功能。其2D和3D引擎的强大看看Vista以后的Windows界面就明白了,再加上其对Aero图形引擎的 支持,更加让你刚到神奇。我这里用是window7,效果比起WIndow8以及即将发布的window10还是有差距的。下面的这个Window7中的3D效果大家应该都知道(window+tab)。

 

[WPF系列]基础学习(一) WPF是什么?

 

[WPF系列]基础学习(一) WPF是什么?

 

WPF有哪些特性

WPF

框架为媒体、用户界面设计和文档提供的解决方案比开发人员现有的解决方案都要好,WPF框架在设计时考虑了可扩展性和可维护性,开发人员能够在WPF中创建自己的控件,还可以通过对现有的WPF控件进行改造创建新的WPF控件。WPF框架是用于形状、图像、视频、动画、文档、三维,以及用于放置控件和内容的面板的一系列控件,这些控件和内容的面板的一系列控件是WPF框架的核心。WPF应用程序提供了若干WPF应用程序开发所需要的控件,开发人员同样能够对控件进行拖放操作实现应用程序布局和开发。作为下一代图形子系统,WPF集成各种输出服务:用户界面、二维和三维图形和图像、基于文档的打印和呈现、语音以及音频和视频服务。通过为所有这些服务提供基于一个框架的托管代码,WPF

使提供新的、丰富的用户体验成为可能,这在以前很难实现。WPF的框架为.NET开发人员所熟悉,最终将减少构建数据绑定应用程序所需的代码。此外,WPF引入新的增强服务(例如动画),同时保留与为GDI/GDI+ 编写的现有代码的互操作性。WPF框架所提供的服务如表所示:

 

 

[WPF系列]基础学习(一) WPF是什么?

 

分类显示

 

基本服务

XAML, Property System, Input &  Eventing , Accessibility

媒体服务 2D, 3D, Audio, Video, Text, Imaging, Animation, Effects, Composition Engine
文档服务 XPS Documents, Open Packaging Conventions
用户界面服务 Application Services, Deployment, Controls, Layout, Data Binding

 

 

 

 

参考:http://www.dotnet-tricks.com/Tutorial/wpf/GHPa021013-Introduction-to-WPF.html

 

 

WPF技术展望

随着window系统的更新,相信大家都看到了微软的互联梦正在一步一步实现,微软发布Windows 10系统 采用跨平台设计,而WPF在新版的系统中占有比也越来越多,所以目前来看WPF开发前景相当乐观。虽然现在看起来微软的WPF更新动作不大,但据说是在研发下一代WPF,让我拭目以待。

 

[WPF系列]基础学习(一) WPF是什么?

总结

 

本文只是简单介绍了下诞生历史,接着介绍了WPF新颖之处Markup and Code-Behind (展示和代码分离),从而引出了WPF特有的MVVM展示模式。最后简单列举了一些基础或常用MVVM开源框架。

下一篇我们将正式开始学习WPF。

 

参考文献

what-is-wpf

The Roadmap for WPF

WPF全景体验

Comparison of Architecture presentation patterns MVP(SC),MVP(PV),PM,MVVM and MVC

MVC,MVP and MVVM: A Comparison of Architectural Patterns

Understanding MVC, MVP and MVVM Design Patterns

Is WPF Dead? – NO!

https://www.slideshare.net/login?from=loggedout_slideview_navbar

http://www.codeproject.com/Articles/140611/WPF-Tutorial-Beginning