WPF参考书推荐

下面先整理下,本人主要学习的WPF参考书:

1、WPF编程宝典(C#2010)

该书:(必读)

心得体会:读完该书后,你对WPF的基础和基本控件的使用,包括WPF的编程模型,相比Winform的特性和如何开始在实际的项目中下手,都有了基本的认知。里面还介绍了控件模板的使用,WPF必须掌握模板。里面包含了WPF的方方面面,不过,深度还有待继续挖掘。

2、深入浅出WPF

该书 (入门必读)

心得体会:该书写的浅显易懂,特别适合对WPF不了解,又渴望快速对WPF上手的书,符合中国人的阅读习惯,很容易就看完该书,不过,该书中没有包含太多的结合项目实例的内容。是本好书。

3、WPF Programmer's Reference: Windows Presentation Foundation with C# 2010 and .NET 4

该书:(建议阅读)

心得体会:该书是英文版的,刚开始读起来会比较的吃力,不过,一旦你看完前二本的WPF的书之后,再度,就不会那么吃力了。该书将WPF的特性和用法都介绍的非常的详细,对实际开发WPF项目过程中的人有很大的帮助,能够解决很多的基本问题。

4、WPF 4 Unleashed

该书 (建议阅读)

心得体会:该书的内容基本上和上述几本书上大体的内容是相近的,但是在一些具体的WPF特性方面,会有更深入的讲解,比较适合深入研究WPF的人士阅读。

5、Sams Teach Yourself WPF in 24 Hours

该书 (建议阅读)

心得体会:该书的内容上采用教学时的方式,分了二十四个学时,刚开始的时候会比较容易,后面的内容,相对就会比较深入,适合从头开始学习WPF的人,学习完后,会对WPF基本使用掌握。

以上的介绍,仅代表个人意见,请大家不要拍砖。

WPF 系列包含的内容

  • WPF基础知识介绍
  • WPF布局介绍
  • WPF控件介绍(包含第三方控件)
  • WPF自定义模板
  • WPF依赖属性、路由事件
  • WPF的MVVM编程
  • WPF开发框架Prism
  • WPF开发框架WAF
  • WPF开发框架Caliburn

WPF 为什么我们选择?

介绍

Windows APIWindows Presentation Foundation (WPF) 是下一代显示系统,用于生成能带给用户震撼视觉体验的 Windows 客户端应用程序。使用 WPF,您可以创建广泛的独立应用程序以及浏览器承载的应用程序。 WPF 的核心是一个与分辨率无关并且基于矢量的呈现引擎,旨在利用现代图形硬件的优势。WPF 通过一整套应用程序开发功能扩展了这个核心,这些功能包括可扩展应用程序标记语言 (XAML)、控件、数据绑定、布局、二维和三维图形、动画、样式、模板、文档、媒体、文本和版式。

相比Winform的优势

1、WPF所有的操作都不依赖于GDI和GDI+,而是间接依赖于强大的Direct3D,这就意味着通过WPF可以做出以前WinFrom无法想象的视觉效果,包括3D效果的应用程序。目前最新的显卡GPU已经支持DirectX 11,绚丽的逼真3D效果通过WPF实现也是非常简单的事情。

2、WPF实现彻底把程序架构,业务逻辑和用户界面(UI)彻底分开,WPF引擎把XAML描述的UI元素解释为相应的.NET对象,从而在应用程序创建相应的控件,UI人员和程序人员均可对此控件进行编辑加载,从而实现用户界面和程序架构的彻底分离,而Winform这一点是做不到的。

WPF具有超强的用户体验,简单便捷的部署方式(易于更新升级),更简便的编程方式,实现绚丽效果比较简单的特点。今天越来越多的软件厂商开始采用WPF作为应用程序开发模式,一些基于WPF开发的桌面应用程序也走进我们的视野,WPF QQ等。与此同时,世界各大控件厂商也纷纷推出了基于WPF的用户界面控件包,以更加绚丽、简单、高效的控件模式提供用户界面解决方案。当我们面对如此多的WPF控件的时候,如何选择适合自己软件使用的WPF控件的确是个难题,下面我就4款主流的WPF控件作一些对比介绍,希望对选择WPF控件有帮助。

开发模式和团队协作上的改变

winform开发模式:需求->设计->开发(功能与界面设计[根据美工设计的界面效果,通过图片或者GDI来实现特殊效果])->测试->交付

WPF开发模式:    需求->设计(功能设计与界面设计)->开发(功能开发) 与设计(界面设计[模板和样式即可实现])->测试->交付

总结:主要是体现在开发和设计阶段,将设计与开发人员从原来的设计人员设计后,开发人员需要实现特殊的效果。并且开发人员需要书写大量的代码,除了书写基本的功能代码还需要书写界面效果的代码。WPF通过blend等可以让界面设计人员设计完的效果转换为xaml语言,开发人员只需要采用MVVM编程模式,书写业务逻辑代码即可,而不要再次跟进界面控件的名称来进行View的更新。关于绑定,这块是WPF最有特点的部分之一。

系统设计

winform:我们需要在界面内容书写调用业务逻辑的相关代码。这样,当业务逻辑发生变化,我们需要修改页面,同时修改界面内的代码。或者是我们修改业务布局,不修改业务逻辑,这时我们也需要开发人员才可以完成。

WPF: 有了WPF之后,上面的二种情况,则不会那么复杂了,1、当业务逻辑变化时,只需要修改ViewModel中的相关代码即可。2、当业务逻辑不发生变化时,任何对界面的修改,都可以让界面设计人员去完成,这样才能做到各司其职和协作。

未来发展

微软未来的发展方向上来说,windows8 的Metro风格的触摸应用,采用xaml语言进行编程的方式,基本上熟悉WPF的朋友们,上手都没啥好说的,window phone8上,熟悉WPF的开发人员,转wp开发也是比较容易的,因为基本的就是语法上的区别,总体来说不会那么困难。所以说,你掌握了WPF,那么就等于掌握了一个基础,未来能够快速学习新技术的基础,跟着微软,就是要不断的学习。

WPF 也有缺点

WPF的优点很多,缺点也同样明显,WPF的UI线程模式,对于不熟悉多线程的朋友,刚开始学习的时候,会有些问题,WPF在想能和运行效率上不如winform,而且,界面效果,如果不会进行界面设计的人,设计出来的页面,还不如winform的界面来的简介。而且就桌面简单应用来说,不如winform来的快,不过其强大的特性和优势,还是推荐WPF,WPF大大提高了用户体验,特别适合桌面应用。

WPF 天马行空

WPF对界面样式和控件样式,可以说是天马行空一样,只要是你能想到的自定义方式,你都可以进行自定义控制,强大的动画支持,让我们能够深爱这样的技术,我们目前的项目中大量的使用WPF技术,刚开始学习WPF的时候,往往容易陷入winform的编程模式,就是拖拽控件,然后将控件命名,在后台代码中操作控件,这样的模式,只适合简单的应用,熟悉WPF的同仁都知道,采用MVVM才可以解决这样的问题,一旦你掌握了MVVM,路由,命令,依赖属性后,对于WPF中的控件,绑定,自定义动画,自定义界面效果等你都可以随意想象和发挥。也许真的天空才是你的极限,不过实际的企业级应用当中,更多的是更符合用户使用习惯的方式,所以我们设计时更贴近用户的使用习惯。

书籍:wpf学习书籍介绍的更多相关文章

  1. R语言书籍的学习路线图

    现在对R感兴趣的人越来越多,很多人都想快速的掌握R语言,然而,由于目前大部分高校都没有开设R语言课程,这就导致很多人不知道如何着手学习R语言. 对于初学R语言的人,最常见的方式是:遇到不会的地方,就跑 ...

  2. sql学习书籍

    SQL 入门 在准备成为MySQL DBA之前,能熟练的编写SQL是一个必要条件.exists 和 join之间的等价转换:基本的行列转换:SQL 循环等的熟练掌握对之后的运维和调优工作都有很大的帮助 ...

  3. java虚拟机的学习书籍推荐

    javaEE开发已然是一个老生常谈的话题了,但经典之所以会成为经典,就是因为有可重复琢磨之处,每一次的反复推敲都会有不一样的收获.如果你不满足于做一个只会写if…else…的Java程序员,而是希望更 ...

  4. Web前端开发推荐阅读书籍、学习课程下载

    转自http://www.xuanfengge.com/fe-books.html 前言 学校里没有前端的课程,那如何学习JavaScript,又如何使自己成为一个合格的前端工程师呢? 除了在项目中学 ...

  5. JavaScript入门学习书籍的阶段选择

    对于许多想学习 JavaScript 的朋友来说,无疑如何选择入门的书籍是他们最头疼的问题,或许也是他们一直畏惧,甚至放弃学习 JavaScript 的理由.在 JavaScript 方面,自己不是什 ...

  6. c++学习书籍推荐《C++ Primer(中文版)(第5版)》下载

    百度云及其他网盘下载地址:点我 编辑推荐 <C++ Primer(中文版)(第5版)>编辑推荐:一书在手,架构无忧:三十位一线架构师真知实践:百位架构师献计献策:十万文字尽显架构精华. 媒 ...

  7. C语言学习书籍推荐《C Primer Plus(中文版)(第5版)》下载

    普拉塔 (Prata S.) (作者), 云巅工作室 (译者) <C Primer Plus(中文版)(第5版)>共17章,介绍了C语言的基础知识,包括数据类型.格式化输入输出.运算符.表 ...

  8. 19年最新 Python0基础学习书籍推荐(内涵PDF地址以及书籍源码)

    去年看过一篇文章,是关于18年的最适合0基础学习的书籍,今年,最新的书籍也已经统计出来.书籍的PDF太过于难找,所以很多PDF都找不到. 仅仅只能找到英文版PDF 本文章统计了18.19并做过对比,在 ...

  9. PHP程序员进阶学习书籍参考指南

    PHP程序员进阶学习书籍参考指南 @heiyeluren lastmodify: 2016/2/18     [初阶](基础知识及入门)   01. <PHP与MySQL程序设计(第4版)> ...

随机推荐

  1. Berlekamp-Massey algorithm

    https://www.cnblogs.com/zzqsblog/p/6877339.html https://blog.csdn.net/qq_39972971/article/details/80 ...

  2. Git之协同开发

    Github之协同开发 一.协同开发 1.引子:假如三个人共同开发同一份代码,每个人都各自安排了任务,当每个人都完成了一半的时候,提交不提交呢? 要提交,提交到dev吗,都上传了一半,这样回家拿出来的 ...

  3. java常用类与包装类--包装类

    2.基本数据类型数据的包装类 局部变量中基本数据类型直接分配在栈中,而对象分配在堆中 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法来操作该数据 包装类主要功能:用于基本数据类型与字 ...

  4. 【Luogu5294】[HNOI2019]序列

    题目链接 题意 给定一个序列,要求将它改造成一个非降序列,修改一个数的代价为其改变量的平方. 最小化总代价. 另有\(Q\) 次询问,每次修改一个位置上的数.(询问之间独立,互不影响) Sol 神仙 ...

  5. iOS自定义键盘的简单实现

    自定义键盘类VolumeInputKeyboardView: VolumeInputKeyboardView.h文件: #import <UIKit/UIKit.h> NS_ASSUME_ ...

  6. wordpress在线预览pdf插件

    插件名称:PDF.js Viewer Shortcode 插件主页:http://tphsfalconer.com/ 优点:功能强大,有分页缩略图功能,翻页,放大缩小,打印,下载,读取等功能. 使用方 ...

  7. JS常用正则表达式验证

    一.电话+手机 重点是正则表达式: var myreg=/^[1][3,4,5,7,8][0-9]{9}$/; 表达式的意思是: 1--以1为开头: 2--第二位可为3,4,5,7,8,中的任意一位: ...

  8. BZOJ 2281 Luogu P2490 [SDOI2011]黑白棋 (博弈论、DP计数)

    怎么SDOI2011和SDOI2019的两道题这么像啊..(虽然并不完全一样) 题目链接: (bzoj) https://www.lydsy.com/JudgeOnline/problem.php?i ...

  9. Spring Boot教程(六)在springboot中验证表单信息

    构建工程 创建一个springboot工程,由于用到了 web .thymeleaf.validator.el,引入相应的起步依赖和依赖,代码清单如下: <dependencies> &l ...

  10. html初体验#2

    碎碎念 关于布局 css布局:横向.纵向 2019年新进展:css grid git bash 上安装 http server 目的在于不使用 file:// 打开自己写的文件,使用 http:// ...