先推荐下猛哥(刘铁猛)的书籍 《深入浅出WPF》.
一直以来,完美的用户体验是桌面应用程序和Web应用程序中的一大障碍。许多开发人员绞尽脑汁将界面设计得美观炫丽些、互
动感强些,但费了九牛二虎之力, 还是差强人意。由于技术上的限制,Web 应用程序无法提供与桌面应用程序同样丰富的用户体
验。而随着电脑与每个人的生活、工作变得密不可分,人们对桌面应用程序的要求也不断提高。永不满足的人们 要求桌面应用程序能
够播放视频、运行动画、采用二维或三维图形,以及调用不同的文档(敲黑板!!画重点!)。
想实现这些吗?那就用WPF!
1.首先,更改一个错误观念,能使用WPF开发管理系统吗?
引用猛哥的话:“使用WPF开发管理系统这个提法是不对的”,
因为WPF是(Windows Presentation Foundation )的简称,即是用来编写表现层的技术和工具。
主要负责将程序展示给用户看,类似的有Windows Forms、Asp.NET.Silverlight等等。
如果是编写业务逻辑层,相关技术是WCF和WF。
2.什么是WPF?
首先,如果你要做桌面应用程序,那可能就要学习桌面程序相关的界面编码语言(winForm、Asp.NET.Silverlight),
如果要做网页端程序,又要学习网页程序的编码语言(html+css+JS),
如果有一套编码,桌面应用程序与Web应用程序均可运用,那是不是特别心动呢?
或者说,你想不想桌面程序也能有3D动画高大上的效果?没错,这就是WPF的魅力和用处。
WPF是微软新一代图形系统,运行 在.NET Framework 3.0架构下,为用户界面、2D/3D 图形、文档和媒体提供了统一的描述和
操作方法。
2. WPF有什么优势?
说到WPF的优势,我们首先了解下事件驱动。官方的话说,即事件-订阅-事件处理器,混在一起使用。
Windows Forms采用的就是事件驱动,通俗的说就是给控件绑定事件,然后控件发生各种状态变化或者其他的事件后就触发,然后事件对应的方法就会激活。这样子激活的方法里面常常就会编写业务逻辑和界面逻辑,在事件驱动下,数据是静态的。
对比Windows Forms的事件驱动,WPF采用数据驱动。
通俗的说,就是后台绑定的数据改变了,界面上的数据会自动刷新。不需要使用事件监控着,且之前的WindowsFroms,
个人深有体会,虽方便快捷的绑定事件,但是往往会出现界面逻辑和业务逻辑弄混到一起,所以遇到Bug的时候,寻找那叫一个累。
WPF通过数据驱动,当数据变化的时候,由数据发起,通知控件变化,这样控件触发的事件就会被弱化,减少了界面逻辑的编写,
从而实现界面逻辑和业务逻辑分离。