一、什么是WPF?

一、什么是WPF?

Windows Presentation Foundation(以前的代号为“Avalon”)是 Microsoft 用于 Windows 的统一显示子系统,它通过 WinFX 公开。它由显示引擎和托管代码框架组成。Windows Presentation Foundation 统一了 Windows 创建、显示和操作文档、媒体和用户界面 (UI) 的方式,使开发人员和设计人员可以创建更好的视觉效果、不同的用户体验。
  Windows Presentation Foundation 发布后(计划在 2006 年),Windows XP、Windows Server 2003 和以后所有的 Windows 操作系统版本都可以使用它。
  Windows Presentation Foundation
  Windows Presentation Foundation 由两个主要部分组成:引擎和编程框架。
  • Windows Presentation Foundation 引擎。Windows
Presentation Foundation 引擎统一了开发人员和设计人员体验文档、媒体和 UI
的方式,为基于浏览器的体验、基于窗体的应用程序、图形、视频、音频和文档提供了一个单一的运行时库。Windows Presentation
Foundation 使得应用程序不仅能够充分利用现代计算机中现有的图形硬件的全部功能,而且能够利用硬件将来的进步。例如,Windows
Presentation Foundation 的基于矢量的呈现引擎使应用程序可以灵活地利用高 DPI
监视器,而无需开发人员或用户进行额外的工作。 同样,当 Windows Presentation Foundation
检测到支持硬件加速的视频卡时,它将利用硬件加速功能。
  • 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 设计从基础代码中分离出来,从而使开发人员和设计人员之间的合作更加紧密。
  为什么选择 Windows Presentation Foundation?
  对于企业,Windows Presentation Foundation
实现了改进的客户关系和不同的应用程序。通过提供能够快速提供更好的视觉效果、独特的用户体验的技术,来建立与客户的密切关系,使企业可以建立稳定的数字
客户关系和独特的品牌化机会。而且,由于 Windows Presentation Foundation
是窗体、文档、视频、三维以及其他功能的综合,因此企业可以创建持久的用户体验解决方案,并集成到客户的日常活动中。
  对于开发人员和设计人员,Windows Presentation Foundation
提供了统一的 UI 平台,因此他们只需学习一个模式,就可以获得无限可能的 UI 体验。对于 .NET
开发人员,其框架是熟悉的,并且它最终将减少提供最佳用户体验和通信逻辑所需的代码行数。对于设计人员,Windows Presentation
Foundation 提供的平台可消除内容、媒体和应用程序之间的边界。最重要的是,Windows Presentation Foundation
可以使开发人员和设计人员同步紧密地合作来快速提供不同的连通体验。
  目前开发界的对WPF响应程度
  目前已有很多人开始考虑或者已经转向WPF,一场新的学习热潮已经开始。但根据我最近的学习和
了解,国内关于WPF的资料很少,除了msdn提供的资料以外,基本都是来自国外的资料,有些则是国外开发人员blog上的资料,当然都是英文的。因此如
果现在能够引进一些WPF的书绝对是很好的时机。而且国外目前的几本WPF书也是刚刚上市,如果我们可以尽快引进的话,绝对可以帮助国内开发人员在最短时
间内赶上国际步伐。
  目前微软针对WPF提供的服务和支持
  随着Vista RTM的发布,微软新一轮的技术推广已经开始。其实在此之前,WPF已经有很大的推广,因为CTP版本已经发布了有一段日子了。当然很多开发人员主要以技术研究为主,也有少数公司已经开始从事基于WPF的产品研发工作。
  1. 目前WPF的正式版本已经发布(随.net framework 3.0正式版发布),你可以从msdn上免费下载
  2. 相应的技术支持已经开始,但目前仅限于大客户,主要做售前技术支持,对于普通开发人员的技术支持可能要等到明年2月份才会开始(个人知道的情况,请以微软官方技术支持网站发布的信息为准)
  3. WPF的VS2005插件目前还只有社区预览版(CTP版),也是从msdn上免费下载的,但正式版恐怕还要等一段时间,但使用CTP版本确实已经可以在VS2005中进行所见即所得的WPF开发。
  4. WPF/E CTP版本已经发布,你可以在msdn上免费下载。同时发布的还有WPF/E Sample Pack for CTP。

时间: 2024-10-13 23:58:24

一、什么是WPF?的相关文章

WPF 依赖属性概念

理解依赖属性 在 WPF 中变成相比较于 传统 Windows Forms 变成发生了较大的改变. 属性现在以一组服务的形式提供给开发人员. 这组服务就叫做属性系统. 由 WPF 属性系统所支持的属性成为依赖属性. 依赖属性的概念 WPF 在依赖属性中提供了标准属性无法提供的功能, 特性如下: 决定属性值: 依赖属性的属性值可以在运行时有其他元素或者是其他信息所决定, 决定的过程具有一个优先次序. 自动验证或变更通知: 依赖属性哟一个自定的回调方法, 当属性值变更时被执行, 这个回调能验证新的值

wpf附加属性理解

WPF附加属性 http://www.cnblogs.com/tianyou/archive/2012/12/27/2835670.html WPF属性(二)附加属性 http://blog.csdn.net/iamsupercola/article/details/7069848 附加属性是说一个属性本来不属于某个对象,但由于某种需求而被后来附加上,也就是把对象放入一个特定环境后对象才具有的属性就称为附加属性,附加属性的作用就是将属性与数据类型解耦,让数据类型的设计更加灵活. 这个解释的比较清

WPF窗体の投影效果

有时候我们需要给WPF窗体加上一个毛边(投影效果) 我们可以在窗体下加上如下代码 <Window.Effect> <DropShadowEffect BlurRadius="24" Color="#FF858484" Direction="90" ShadowDepth="3"/> </Window.Effect> 然后需要给窗体设置一个border BorderThickness=&quo

WPF笔记整理 - Bitmap和BitmapImage

项目中有图片处理的逻辑,因此要用到Bitmap.而WPF加载的一般都是BitmapImage.这里就需要将BitmapImage转成Bitmap 1. 图片的路径要用这样的,假设图片在project下的Images目录,文件名XXImage.png. pack://application:,,,/xxx;component/Images/XXImage.png 2. 代码: Bitmap bmp = null; var image = new BitmapImage(new Uri(this.X

WPF自定义控件与样式(11)-等待/忙/正在加载状态-控件实现

一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要有三种实现方式: 简单忙碌状态控件BusyBox: Win8/win10效果忙碌状态控件ProgressRing: 弹出异步等待框WaitingBox: 二.简单忙碌状态控件BusyBox 效果图: 通过属性"IsActive"控制控件是否启用,后台C#代码: /// <summary> /

企业级架构 MVVM 模式指南 (WPF 和 Silverlight 实现) 译(2)

本书包含的章节内容 第一章:表现模式,以一个例子呈献给读者表现模式的发展历程,我们会用包括MVC和MVP在内的各种方式实现一个收费项目的例子.沿此方向,我们会发现每一种模式的问题所在,这也是触发设计模式发展的原因.本章还会说明如果应用不当,MVC和MVP这些依赖.Net事件的表现模式是怎么导致内存泄漏的.本章会谈论各种表现模式的优缺点,并且留给读者自我思考的问题,如为什么用MVVM设计模式来代替MVP或是MVC.第二章:介绍MVVM,包括使MVVM魅力四射的WPF和Silverlight的各种特

(WPF)属性值继承

属性值继承并不同于传统面向对象的类继承,而是指属性值自顶向下沿着元素树传递. 下面的代码在Window 元素上设置了Font属性.两个设置将会沿着逻辑树向下传递,并由子元素继承. 但是若子元素如设置了这样的属性,则不受其父元素设置的影响. <span style="font-size:14px;"> </span><span style="font-size:12px;"><Window xmlns = "http

C#入门分享(九)——WPF开发

WPF(Windows Presentation Foundation)是微软推出的基于Windows Vista的用户界面框架,属于.NET Framework 3.0的一部分.它提供了统一的编程模型.语言和框架,真正做到了分离界面设计人员与开发人员的工作:同时它提供了全新的多媒体交互用户图形界面.WPF可以更方便的开发更漂亮的界面,并且可以比以前更好地将GUI设计和程序逻辑分离开来,使得有条件的公司可以专门培养平面设计人员进行GUI设计(有点类似于与网页美工),而程序员更加关注业务逻辑. 下

《WPF揭秘》

书本上的东西没有理解体会就不是自己的,理解体会了没有学以致用很快又会忘到爪哇国,先把看过的书记录在这里,以后忘记了还可以来看看. 1.XAML Xaml是一种声明式的编程语言,是一种调用.Net的API的方式,在WPF应用程序中一般用它来生成界面. 在Xaml中为对象设置的事件处理程序总是在设置属性之后(Name属性除外,对象构造后立即设置). Xaml中有一种运行时根据字符串生成对象的表达方式叫做标记扩展(MarkupExtension). 由于花括号(“{”和“}”)代表标记扩展,如果向输入

WPF 中的 loaded 事件和 Initialized 事件

在 WPF 中, 控件有 Loaded 和 Initialized 两种事件. 初始化和加载控件几乎同时发生, 因此这两个事件也几乎同时触发. 但是他们之间有微妙且重要的区别. 这些区别很容易让人误解. 这里介绍我们设计这些事件的背景. (不仅适用于 Control 类, 同样在通用类如 FrameworkElement 和 FrameworkContentElement 类也适用.) 下面是个小故事: Initialized 事件只说: 这个元素已经被构建出来,并且它的属性值都被设置好了,所以