先推荐下猛哥(刘铁猛)的书籍  《深入浅出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通过数据驱动,当数据变化的时候,由数据发起,通知控件变化,这样控件触发的事件就会被弱化,减少了界面逻辑的编写,

从而实现界面逻辑和业务逻辑分离

3分钟搞懂什么是WPF。的更多相关文章

  1. c#代码 天气接口 一分钟搞懂你的博客为什么没人看 看完python这段爬虫代码,java流泪了c#沉默了 图片二进制转换与存入数据库相关 C#7.0--引用返回值和引用局部变量 JS直接调用C#后台方法(ajax调用) Linq To Json SqlServer 递归查询

    天气预报的程序.程序并不难. 看到这个需求第一个想法就是只要找到合适天气预报接口一切都是小意思,说干就干,立马跟学生沟通价格. ​ ​不过谈报价的过程中,差点没让我一口老血喷键盘上,话说我们程序猿的人 ...

  2. 五分钟搞懂POM设计模式

    转载请注明出处️ 作者:IT小学生蔡坨坨 原文链接:五分钟搞懂POM设计模式 大家好,我是IT小学生蔡坨坨. 今天,我们来聊聊Web UI自动化测试中的POM设计模式. 为什么要用POM设计模式 前期 ...

  3. 五分钟搞懂Vuex

    这段时间一直在用vue写项目,vuex在项目中也会依葫芦画瓢使用,但是总有一种朦朦胧胧的感觉.于是决定彻底搞懂它. 看了一下午的官方文档,以及资料,才发现vuex so easy! 作为一个圈子中的人 ...

  4. 十分钟搞懂什么是CGI

    原文:CGI Made Really Easy,在翻译的过程中,我增加了一些我在学习过程中找到的更合适的资料,和自己的一些理解.不能算是严格的翻译文章,应该算是我的看这篇文章的过程的随笔吧. CGI真 ...

  5. 十分钟搞懂什么是CGI(转)

    原文:CGI Made Really Easy,在翻译的过程中,我增加了一些我在学习过程中找到的更合适的资料,和自己的一些理解.不能算是严格的翻译文章,应该算是我的看这篇文章的过程的随笔吧. CGI真 ...

  6. 两分钟搞懂UiAutomator、UiAutomator2、Bootstrap的关系

    很多同学经过一段时间的学习之后都明白了Appium的基本原理,但是越学习到后面发现出现的很多陌生名词无法弄清楚其具体作用,今天这篇文章的目的就是为了让大家来弄懂三个高频名词:UiAutomator.U ...

  7. 五分钟搞懂什么是B-树(全程图解)【转】

    前戏 我们大家都知道动态查找树能够提高查找效率,比如:二叉查找树,平衡二叉查找树,红黑树.他们查找效率的时间复杂度O(log2n),跟树的深度有关系,那么怎么样才能提高效率呢?当然最快捷的方式就是减少 ...

  8. 五分钟搞懂MySQL索引下推

    大家好,我是老三,今天分享一个小知识点--索引下推. 如果你在面试中,听到MySQL5.6"."索引优化" 之类的词语,你就要立马get到,这个问的是"索引下推 ...

  9. 10分钟搞懂Tensorflow 逻辑回归实现手写识别

    1. Tensorflow 逻辑回归实现手写识别 1.1. 逻辑回归原理 1.1.1. 逻辑回归 1.1.2. 损失函数 1.2. 实例:手写识别系统 1.1. 逻辑回归原理 1.1.1. 逻辑回归 ...

随机推荐

  1. 两千星 .NET5 框架 Furion 亮点分析(一)

    让 .NET 开发更简单,更通用,更流行. Furion 介绍 Furion 是基于 .NET5 平台下打造的现代化 Web 框架.旨在 让 .NET 开发更简单,更通用,更流行.. Furion 非 ...

  2. 【探索之路】机器人篇(1)-ROS-mwRobot开篇

    机器人的定义 首先,什么才是机器人?机器人是不是必须和人一样的外形?我们先看一看维基百科给机器人的定义: 由上可见,机器人并不是和人一样的外形,而是可以模拟人类行为或者思想再或者是模拟其他生物的机械. ...

  3. JavaDailyReports10_08

    ------------恢复内容开始------------ AWT组件 1.1Frame组件与Panel组件 1.1.1显示框架窗口 1 package awt; 2 3 import java.a ...

  4. Java生成窗口

    //字符串数组转变成int数组ints[i] = Integer.parseInt(str_string[i]);//设置窗口关闭Frame.addWindowListener(new WindowA ...

  5. centos7下mysql安装与卸载

    彻底卸载mysql 一.chak 是否有安装mysql a)      rpm -qa | grep -i mysql // 查看命令1 b)      yum list install mysql* ...

  6. rocketmq部署架构

    1 技术架构 RocketMQ架构上主要分为四部分,如上图所示: Producer:消息发布的角色,支持分布式集群方式部署.Producer通过MQ的负载均衡模块选择相应的Broker集群队列进行消息 ...

  7. 线程方法wait()和notify()的使用

    实现需求: 开启2个线程,1个线程对某个int类型成员变量加1,另外1个减1,但是要次序执行,即如果int型的成员变量是0,则输出01010101这样的结果 代码如下 1 package test; ...

  8. 一个轻量级的.Net Core微服务快速开发的轮子

    前言     Adnc是一个轻量级的.Net Core微服务快速开发框架,同时也可以应用于单体架构系统的开发.框架基于JWT认证授权.集成了一系列微服务配套组件,代码简洁.易上手.学习成本低.开箱即用 ...

  9. wdcp 安装

    lanmp一键安装包是wdlinux官网2010年开始推出的lamp,lnmp,lnamp(apache,nginx,php,mysql,zend,eAccelerator,pureftpd)应用环境 ...

  10. IP包头分析

    • IP包头是IP协议(网络层,第三层)为数据包添加的头部.        ○ 格式:        ○ ○ 拆开看,每行是4+4+8+16=32bit=4Byte        ○ ip协议最短20 ...