wpf介绍

XAML的引入
使得美工和程序可以实现分离,使得定制化主题/外观/行为更加方便也易于维护;
强大的 “数据绑定”功能
使得MVVM得以实现,成为“属性驱动”,而非WinForm的“事件驱动”;属性的更改可以自动获得,甚至通过转换器触发各种展示/行为的变更;
MVVM、MVC、MVP是目前比较流行的三大开发框架,MVVM主要用来和我们的WPF一起来做Windows的开发;
事件驱动是一种被动的,必须由用户的触发;而属性驱动是一种主动的,一种路由机制,只要数据的变更就可层层触发。
绚丽的展示效果
WPF(Windows Presentation Fundation)顾名思义其强大的图形化API为程序提供了超乎想象的图形效果。
程序人员与美工人员明确分工,美工人员可以使用Expression Studio中套装工具可视化
的设计界面。然后交给程序开发组中的XAML就可以。让程序人员直接套用到开发环境,
不需要想页面怎么切了。
对与WPF最重要的特色,矢量图的超强支持。兼容支持2D绘图,比如矩形、自定义路
径,位图等。文字显示的增强,XPS和消锯齿。三维强大的支持。包括3D控件及事件,
与2D及视频合并打造更立体效果。渐变、使用高精确的(ARGB)颜色,支持浮点类型
的像素坐标。这些对GDI+远远不及的。
灵活、易扩展的动画机制!.Net Framework 3.0类库提供了强大的基类,只需继承就可以
实现自定义程序使用绘制。接口设计非常直观,完全面向对象的对象模型。使用对象描
述语言XAML。使用开发工具的可视化编辑。
您可以使用任何一种.Net编程语言(C#,VB NET等开发语言)进行开发。XAML主要针
对界面的可视化控件描述,成生进会分析成.cs或.vb文件,并最后将编译为CLR中间运行
语言。
3、组成结构
Windows Presentation Foundation 由两个主要部分组成:引擎和编程框架。
1.Windows Presentation Foundation引擎。
Windows Presentation Foundation 引擎统一了开发人员和设计人员体验文档、媒体和
UI 的方式,为基于浏览器的体验、基于窗体的应用程序、图形、视频、音频和文档提供
了一个单一的运行时库。Windows Presentation Foundation 使得应用程序不仅能够充分
利用现代计算机中现有的图形硬件的全部功能,而且能够利用硬件将来的进步。例如,
Windows Presentation Foundation 的基于矢量的呈现引擎使应用程序可以灵活地利用高
DPI监视器,而无需开发人员或用户进行额外的工作。同样,当 Windows Presentation
Foundation 检测到支持硬件加速的视频卡时,它将利用硬件加速功能。
2.Windows Presentation Foundation 框架。
Windows Presentation Foundation 框架为媒体、用户界面设计和文档提供的解决方案
远远超过开发人员现在所拥有的。Windows Presentation Foundation 的设计考虑了可扩
展性,使开发人员可以完全在 Windows Presentation Foundation引擎的基础上创建自己
的控件,也可以通过对现有 Windows Presentation Foundation 控件进行再分类来创建自
己的控件。Windows Presentation Foundation 框架的核心是用于形状、文档、图像、视
频、动画、三维以及用于放置控件和内容的面板的一系列控件。这些“自有控件”为开发下
一代用户体验提供了构造块。
Microsoft 在引入 Windows Presentation Foundation 的同时,还引入了 XAML,这是一
种公开表示 Windows应用程序用户界面的标记语言,可使开发人员和设计人员用来构建
和重用 UI 的工具更加丰富。对于 Web 开发人员,XAML 提供了熟悉的 UI 说明模式。
XAML 还使 UI 设计从基础代码中分离出来,从而使开发人员和设计人员之间的合作更加
紧密。
wpf介绍_第1张图片

上分析,UI的功能是让用户观察和操作数据,为了能显示数据和响应用户的操作
通知程序(通过事件来通知,如何处理事件又是一系列的算法),所以控件就是显示数
据和响应用户操作的UI元素,也即:控件就是数据和行为的载体。 [2]
数据驱动UI
什么是数据驱动UI呢?我们知道传统的GUI界面都是由windows消息通过事件传递给程
序,程序根据不同的操作来表达出不同的数据体现在UI界面上,这样数据在某种程度上
来说,受到很大的限制。WPF中是数据驱动UI,数据是核心,处于主动的,UI从属于数
据并表达数据,是被动的。WPF数据第一,控件第二。

你可能感兴趣的:(经验分享,wpf,windows,microsoft)