WPF 基础到企业应用系列1——开篇故意

參考资料

提到參考资料,大家第一感觉就是MSDN,当然我也不例外。这个站点基本上是学习微软技术的首选站点,除了这个站点以外,我还參考了非常多其它的社区和站点,基本上都在.NET
技术社区之我见(英文篇)
做了介绍,比方CodeProject、CodePlex 、windowsclient、C# Corner等,除了这些站点另一些国外技术专家blog。

1.       Programming Windows Presentation Foundation

http://www.amazon.com/Programming-Windows-Presentation-Foundation-Chris/dp/0596101139/sr=8-2/qid=1164814449/ref=pd_bbs_2/104-6804148-3392750?ie=UTF8&s=books

这本书出得非常早,在学WPF之初就是这本书和MSDN作为教材,长处:书中解说的语言浅显易懂而且解说的顺序和思路也非常清晰,内容也是面面俱到。样例也举得非常恰当。

缺点是讲得非常easy,稍偏向于入门书籍;书中的理论和样例都是针对于WPF的測试版。所以和正式的版本号有一些出入。你会发现从书中拷贝下来的样例在程序中不能执行,这个你也不要见怪。仅仅要能明确原理即可。

2.       Windows Presentation Foundation Unleashed (WPF) (Unleashed)

http://www.amazon.com/Windows-Presentation-Foundation-Unleashed-WPF/dp/0672328917/sr=8-5/qid=1164814449/ref=pd_bbs_sr_5/104-6804148-3392750?ie=UTF8&s=books

这本书是WPF正式版出来以后出版的,所以和上一本比起来就有非常大的优势,而且讲的内容也比上一本具体。所以在非常长一段时间,除了MSDN。它就成了非常权威的教材。

在阅读的时候尽管没有Programming Windows Presentation Foundation那么轻松,但同一时候这里面的样例会给你带来非常强的成就感。

这本书是Adam Nathan写的,Adam是WPF Team的核心成员。也是WPF的专家。

3.       Applications = Code + Markup: A Guide to the Microsoft Windows Presentation Foundation

http://www.amazon.com/Applications-Code-Markup-Presentation-Foundation/dp/0735619573/sr=8-1/qid=1164814449/ref=pd_bbs_1/104-6804148-3392750?ie=UTF8&s=books

WPF官方站点(http://wpf.netfx3.com)上推荐的书。

这本书是Charles Petzold写的。也是WPF的专家。所以里面有非常多的技术内幕和使用技巧都值得我们学习和操练,但我一直没有坚持看完。原因非常easy。这本书不太适合入门,所以当时就没有选择这一本书,到学会了WPF以后,又常常关顾于国外的各大社区和论坛。上面非常多内容能够解除你对WPF学习和使用中的疑问,所以它就一直搁置到了一边,直到写这个系列之前才翻完大半。

4。WPF4是大家都期待的,由于前面几个版本号存在着一些问题。如性能优化不上去、某些特性不支持等原因。

那么WPF4的发布,让非常多人都比較欣喜。例如以下第一排3本就是针对WPF4(VS2010)的。所以有兴趣的同仁也能够去找相关的资源。

 

 

 

 
 

 

 

 
 

 

 

 

当然国内也有一些书籍能够參考。如微软经典红皮书对WPF的解说能够作为入门学习,还有WPF揭秘,虽说有一些翻译上的小错误,可是总体还是能够的。

5.开发工具

大部分的应用程序都会使用例如以下配置和工具开发:

CPU:2.40GHz  内存2G

操作系统:Windows XP+SP3英文版

开发工具:Visual Studio 2008+SP1英文版

Expression Design 3

Expression Blend 3

Expression Encoder 3

因为近期用上了一台新机器,也可能会使用它做某些开发:

CPU:i7四核 2.8GHz    内存:4G   硬盘:1T       显卡:GTX260 高清2G     显示器:24高清

操作系统:Windows 7  Professional

开发工具:Visual Studio 2010

Expression Design 4

Expression Blend 4

Expression Encoder 4

6.面试问题

关于面试这个问题,每一个公司都会有自己的面试要求。尤其是美国和印度对WPF的重视程度。让WPF的应用逐渐变得广泛。

面试题目也变得多了起来,之前承担了一些WPF的面试工作,所以收集、整理和写了一些面试题目,以供大家參考,因为是自己对这方面的一些看法,所以有错误的地方也请大家见谅,对每一个面试者,我认为都要以尊敬的态度,无论技术怎样。无论学历怎样,人都有他擅长的一方面。同一时候你的理解和他的理解可能各有千秋,也不要把某些观点强加于人而傲视别人。所以我觉无论是面试者或者是被面试者。都要怀着谦虚和尊敬别人的态度。

0基础project师

  • 较强.NET 2.0 基础知识& 愿意学习新技术
  • 解释什么是依赖属性,它和曾经的属性有什么不同?为什么在WPF会使用它?
  • 什么是样式(Style)?
  • 什么是模板(template)?
  • 绑定(Binding )的基础使用方法
  • 解释这几个类的作用及关系: Visual, UIElement, FrameworkElement, Control
  • 视觉树vs 逻辑树?
  • 属性变更通知(INotifyPropertyChange 和ObservableCollection)
  • ResourceDictionary
  • UserControls
  • 事件的三种方式(冒泡、直接、隧道)

中级project师

  • Routed Events(路由事件) & Commands (命令)
  • 绑定具体解释(包含绑定到单一属性、实体、集合、值转换、触发机制、验证等)
  • 如何布局一个美丽的UI(你们曾经的项目是怎么做的?)
  • WPF和之前的技术交互(WPF/WinForms)
  • animations 、storyboarding
  • ClickOnce 部署(长处和缺点)或者是自己通过微软setup/InstallShield+自己的自己主动更新组件。
  • 样式、主题和触发器
  • 自己定义控件
  • 如何才干工作线程更新UI?

高级project师

  • 什么是attached behavior(附加行为或者附加事件)?
  • PRISM,CAL & CAG等等框架,是否使用过?你们是怎么用的?没有使用的话,解释一下自己的开发模式和框架。
  • 如何才干工作线程更新UI?
  • WPF 3D和动画的应用(是否使用过?用过哪些?)。
  • Silverlight和WPF的异同。
  • 怎么开发自己定义控件?能够简介一下自己开发的控件。
  • 你之前的WPF项目开发流程是如何的?
  • 三种开发模式(MVVM/MVP/MVC)的理解。
  • WPF的性能调整(你是怎么优化WPF性能的?)
  • 聊聊你做WPF的一些经验和体会。

7.关于前景

关于WPF的前景,我不想做过多的介绍,有非常多人已经对这方面做了非常深入的研究,那么我们就能够做一下简单的总结:

因为WPF带来了非常多优秀的功能和特性:

1.超强的用户体验;

2.简单便捷的部署方式(易于更新升级);

3.更简便的编程方式。

4,实现绚丽效果比較简单。

所以在下面几个方面得到了非常广泛的应用:

1.企业应用系统(主要做一些管理系统。国内已经非常多公司在使用了);

2.一些Silverlight眼下非常难达到的效果同一时候又要求能从网络浏览到(如Asahiyama Zoo (日本北海道旭山动物园))

3.桌面应用程序(如雅虎推出即时通讯软件和QQ等)。

4,一些对效果要强较高应用的产品

WPF正由于有那么多优秀的特性和功能而且微软一直在这方面努力,我们相信它一定会带来一场C/S用户程序的革命。对这个应用,我也曾专门了解过,在国内如今非常多公司都在对WinForm进行升级到WPF,在国外如美国和印度等国家,对WPF的使用也逐渐普遍起来。上周公司首席科学家请客到新加坡一家六星级酒店吃饭。我以项目组附带的形式非常荣幸也被邀请,旁边刚好是一个印度的Architect,我也顺便问了他们国家对Windows
azure、WPF和Silverlight等技术的应用。发现他们国家对这些技术应用得非常早而且也形成了自己的一些成熟体系。近期公司做的项目有非常多以色列人来演示他们做的智能系统(UI用WPF实现,智能扑捉用摄像头。这样人站在电视机前面就能够用自己的身体玩非常多体验,比方你能够真实体验三维游戏、你能够用你的身体直接做非常多网络里的事情),他们比我们如今做的系统(我们的系统是用WPF做UI。然后在电视上通过蓝牙和遥控器实现点播网络视频、游戏和新闻等)高级非常多,同一时候也让我们看到他们对这方面的研发能力。

所以相信WPF一定能够逐渐流行起来,就让我们拭目以待。

8.效果展示

上面谈了这么多WPF的东西,有些没有接触过WPF的同仁或许会问:WPF究竟能实现什么样的效果?WPF在哪些公司用到过?WPF究竟能不能应用于企业开发,那么我这里就简单收集了一些WPF的一些效果图和一些商业运用产品截图,希望大家看到以后。能对WPF有一个全面的了解。

WPF部分样例的效果图:

WPF企业使用案例(部分案例介绍来自网络):

AMD Live  : AMD为提升PC用户数字娱乐体验的新平台,一个结构化、可视化的在线照片、音乐、视频的播放软件

从这个界面来看真的是很强大,娱乐性已经与苹果系统差点儿无异。

时间: 2024-10-16 03:36:38

WPF 基础到企业应用系列1——开篇故意的相关文章

WPF 基础到企业应用系列1——开篇有益

参考资料 提到参考资料,大家第一感觉就是MSDN,当然我也不例外,这个网站基本上是学习微软技术的首选站点,除了这个网站以外,我还参考了很多其他的社区和网站,基本上都在.NET 技术社区之我见(英文篇)做了介绍,比如CodeProject.CodePlex .windowsclient.C# Corner等,除了这些网站还有一些国外技术专家blog. 1.       Programming Windows Presentation Foundation http://www.amazon.com

WPF基础到企业应用系列6——布局全接触

一. 摘要 首先很高兴这个系列能得到大家的关注和支持,这段时间一直在研究Windows Azure,所以暂缓了更新,同时也本着想把它写好.宁缺毋滥的精神,在速度上自然也就慢了下来,这篇文章拖拖拉拉也经历了十多天才发布出来(每天写一点),不过请大家放心,这个系列一定会继续写下去.由于自己才疏学浅且是对这些技术的使用总结和心得体会,错误之处在所难免,怀着技术交流的心态,在这里发表出来,所以希望大家能够多多指点,这样在使一部分人受益的同时也能纠正我的错误观点,以便和各位共同提高. 这篇文章主要是对WP

WPF基础到企业应用系列7——深入剖析依赖属性(WPF/Silverlight核心)

一. 摘要 首先圣殿骑士非常高兴这个系列能得到大家的关注和支持.这个系列从七月份開始到如今才第七篇,上一篇公布是在8月2日,掐指一算有二十多天没有继续更新了,最主要原因一来是想把它写好,二来是由于近期几个月在筹备"云计算之旅"系列,所以一再推迟了公布进度. 之前一直都没有想过要录制视频.基本的原因还是怕自己知识有限,从而误导他人,所曾经几次浪曦和51CTO邀请录制视频,我都以工作忙.公司内部培训须要时间和自己有待提高等理由委婉的拒绝了,说实在的.自己也知道自己还有非常多地方有待提高.还

WPF 基础到企业应用系列5——WPF千年轮回 续前缘

一.摘要 首先非常高兴这个系列能得到大家的关注和支持,前端时间身体状况不适,所以暂停了更新,对此表示非常抱歉,以后会逐渐加快进度.只是因为这是一个非常长的系列,我也想把它写好,所以以后也会慢慢来,在这个系列的过程中也会穿插发一些其它文章,比方Windows Azure.设计模式.WCF.Silverlight等,同一时候也会发一些自己的技术随感和心得.反正仅仅要自己写得开心且对大家有帮助即可.因为自己才疏学浅且是对这些技术的使用总结和心得体会.错误之处在所难免.怀着技术交流的心态,在这里发表出来

WPF 基础到企业应用系列2——WPF前世今生

1.开篇前言       很多时候了解一项新技术的历史和趋势往往比这项技术的本身价值还要重要.WPF作为一项新技术(已经三年多了,或者应该叫老技术了),我们都有必要了解它的来龙去脉,尤其是公司的CTO.技术总监.架构师等决策层,因为他们对技术的选型及应用具有决定权.对于开发者来说,了解自己正在从事的这个技术的前世今生,有助于我们更好的认识技术本身的价值,也可以避免我们少走一些弯路(圣殿骑士 就走过很多弯路,所以对此比较感慨).从IT技术发展的这些年可以看出,技术对于各大公司只是竞争的一种手段,而

WPF基础学习笔记(一)Dependency Object 和 Dependency Property

.依赖属性是WPF个人觉得对精彩和最有特色的部分.所以特地先拿出来. 首先要实现Dependency Property 则必须要继承Dependency Object.如果看下WPF的基础控件其实都间接或者直接继承Dependency Object,这点规律性我在后面再做规律陈述. 首先Dependency Object 我搬下书的描述 Only the thread that the Dispatcher was created on may access the DispatcherObje

系统架构师-基础到企业应用架构-系列索引

系统架构师-基础到企业应用架构-索引 系统架构师-基础到企业应用架构系列会从,系统架构的起源.发展.架构师必备的基础知识与技能.如何把架构应用到企业应用中去.整个系列计划30篇左右,每 一篇都是自己在系统架构过程中的总结和经验,每一篇我都会抱着认真的态度去完成,宁缺毋滥的原则.希望本系列看完之后不但能够帮助看过这个系列的人对系统架 构有深刻的认识,并且能够掌握系统架构中的必备知识,应用到自己的工作中去,更可以共同提高大家的个人能力.本系列希望能够抛砖引玉,希望大家能够多提出宝 贵意见. 前篇 1

系统架构师-基础到企业应用架构-企业应用架构

一.上篇回顾 我们先来回顾下上篇讲解的内容,我们前面的几节分别讲述了,业务逻辑层.数据访问层.服务层.表现层,我们了解了这些分层的职责和分层之间的大概的关联 关系,本篇可能主要是简单的介绍下企业应用的几类模式,结合这几个分层直接的交互来完成系统功能的构建.我们还是先对我们学习的四个分层的职责和功能做个大 概的回顾,我们先来看看下图来回顾下我们讲述的内容. 我想通过上图,大家能回忆起我们讲述的相关内容,然后整理好自己的思路,我们本文将会针对这几个分层进行相应的模式的讲解,并且会结合实例来说明企业应

系统架构师-基础到企业应用架构-业务逻辑层

一.上章回顾 上章我们主要讲述了系统设计规范与原则中的具体原则与规范及如何实现满足规范的设计,我们也讲述了通过分离功能点的方式来实现,而在软件开发过程中的具 体实现方式简单的分为面向过程与面向对象的开发方式,而目前更多的是面向对象的开发设计方式.并且我们也讲述了该如何通过设计手段去分析功能点及设计分离 点,应该如何在设计的过程中分析的角度及如何去满足设计规范与原则.首先我们通过下图来回顾下上章要点: 二.摘要 本文将已架构的方式去分析分层结构中的业务层的设计,如何写出来内聚度,高耦合的业务逻辑层