WPF 基础系列—WPF开篇有益

转帖|其它|编辑:郝浩|2010-07-08 11:27:13.000|阅读 1926 次

概述:本文介绍了WPF的基础知识和应用前景,以及WPF控件的推荐!

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

本文系转载 来自 博客园 本站作了适当编辑和点评 原文地址
 

1.开篇前言


关于WPF基础到企业应用系列——这几年给自己的感觉就是不时很忙,也不知道在忙些什么,反正生涯和工作都不消停,不时说写书,然则写了两章就不时摆在那里,在写这个专题前花了点时候写了一个31 天重构进修笔记索引,感觉从新找回了那份心静的感觉,所以筹算继续写一个系列文章内容,全当总结和技术交流。开篇之前犹疑了良久:1,面对自己喜好的这么多技术,不知道先写哪一个系列为好(OO与设计体式格局、WCF、WPF、Silverlight、.NET多线程编程、LinQ、AOP和IOC 在.net项目中综合应用、ASP.NET MVC、Windows Azure等),最后筹算先写WPF,然后再Silverlight,进而写其他的系列。究竟WPF照如今的这种趋势展开,迟早会在C/S应用轨范中夺得冠军。Silverlight也必将在企业级开辟当中逐步应用起来。2,WPF从2007劈头接触以来,运用比较多,也相对比较熟悉,何况作为WPF子集的Silverlight,讲了WPF,Silverlight就相对简单了。3,首如果思考怕自己书写的文章内容不能教导于人,反而误导他人。所以怀着对这些问题的思考,我一定会尽心全力的写好每一篇文章内容,不负人人所望!
 

2.内容提纲

· 1.开篇前言

· 2.内容提纲

· 3.开发工具

· 4.参考资料

· 5.面试问题

· 6.关于前景

· 7.效果展示

· 8.本文总结

4.参考资料

          提到参考资料,人人第一感觉就是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作为教材,长处:书中解说的言语粗简略纯真懂而且解说的次序递次和思路也很明晰,内容也是面面俱到,例子也举得很得当。缺点是讲得很简单,稍倾向于入门书本;书中的理论和例子都是针关于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的专家。所以里面有很多的技术内情和运用技巧都值得大家进修和操练,但我不时没有对峙看完,启事很简单,这本书不太合适入门,所以当时就没有选择这一本书,到学会了WPF往后,又经常关顾于国外的各大社区和论坛,上面很多内容能够解除你对WPF进修和运用中的疑问,所以它就不时放置到了一边,直到写这个系列之前才翻完大半。

    4,WPF4是人人都等待的,因为前面几个版本存在着一些问题,如机能优化不上去、某些特征不支撑等启事。那么WPF4的发布,让很多人都比较欣喜,如下第一排3本就是针对WPF4(VS2010)的,所以有兴味的同仁也能够去找相关的资本。
 

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的面试工作,所以收集、整理和写了一些面试题目,以供大家参考,由于是自己对这方面的一些看法,所以有错误的地方也请大家见谅,对每个面试 者,我觉得都要以尊敬的态度,不管技术如何,不管学历如何,人都有他擅长的一方面。同时你的理解和他的理解可能各有千秋,也不要把某些观点强加于人而傲视 别人。所以我觉不管是面试者或者是被面试者,都要怀着谦虚和尊敬别人的态度。

初级工程师

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

中级工程师

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

高级工程师

  • 什么是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.效果展示


Entellium Rave:中小企业CRM提供商 Entellium
专供中小企业使用的 CRM系统,漂亮的界面与复杂内容的结合,逻辑层与表现层的分离使得这种平衡得以实现。



 

Yahoo:雅虎推出即时通讯软件

功能很强大并且还可以实现很多自定义操作。

 

慧都点评:

正如本文作者讲述的一样,随着电脑硬件设备的高速更新,特别是图形处理系统GPU的飞速发展,硬件系统已经不再成为制约软件性能的主要因素,越来越多的软件开发商开始选择WPF,越来越多的用WPF开发的效果绚丽,超强的用户体验,简单便捷部署方式的软件应用到生活和工作中。

与此同时各大控件开发商也在WPF开发方面推出自己的WPF控件,下面就为大家推荐几款非常棒的WPF的控件。

1、最早,最有名气的当属美国ActiproSoftware公司出品的:WPF Studio WPF studio 包含12个WPF子控件,囊括了,图表,条码,表格,编辑器,预览,元素库等等WPF开发中最有用的控件。根据慧都控件网测试和客户反馈来看,WPF Studio是功能最强大,效果最好的WPF控件。

2、传统WinForm老大,DevExpress 开始发力,在最新版的DEV2010中同步推出DXperience™ WPF Subscription  控件包,包括了表格、图表、工具条、打印输出、数据编辑、导航面板、页面布局等10个子控件,以DevExpress的业界老大的实力,这款DXperience™ WPF Subscription 绝对是性价比和功能强大的象征。

3、来自加拿大的ComponentArt公司,同样在2010推出控件套包 WIN.UI FOR WPF 包含16个功能子控件,

 

功能十分强大,加上其比较便宜的价格,性价比尤其突出。

4、ComponentOne公司的 ComponentOne Studio for WPF 2010 v1  ,套包中包含21个功能子控件,除了包含常见的图表,报表,编辑器,工具条等,甚至包含了媒体播放器,颜色编辑器等等特别功能。ComponentOne更新比较快,从其Rodemap看,其2010 V2版本,将新增日历,地图,停靠面板等新功能。因此它适合功能需求全面的用户,价格相对偏高,适合大中型软件企业。



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:博客园

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP