什么是WPF? 秒懂 !
一開始听到WPF。认为非常陌生。在百度百科等地方看完简单介绍之后。感觉更深奥。各种不懂啊!
在简单做了几个页面之后,发现。原来如此!
So Easy 但又So Magic。
为什么说它简单?由于它简直就是html的C/S模式嘛!
微软退出WPF,是为了让桌面应用更加美观。
我觉得当中增加了非常多B/S模式的理念。尤其是样式的控制方面。当然,各种控件仍然是我们高速开发的利器。
为什么说它奇妙?由于它让你彻底告别了分辨率兼容问题。
还记得为适应各种分辨率屏幕而繁重工作吗?为了满足用户需求,我们不得不让我们的程序适应多个分辨率屏幕,即使如此,还得声明:我们的系统支持多少到多少分辨率的屏幕。
如今。有了WPF。你不用操心这个问题了。由于WPF使用的是矢量开发,WPF开发的程序能够自己主动依据屏幕的大小进行缩放。想想,这是多么的Magic。
WPF中引入了Grid。网格控件,它主要是为了让我们更高速的完毕布局。
你能够简单的确定一个几行几列的网格。这个网格是依照比例划分的。这也是我们程序适应各种屏幕的基础。
有了Grid,我们不仅能够把其它的空间依照网格整齐的放置,同一时候在分辨率变化的时候。它也会依据Grid的变化而改变我们控件的位置。
WPF中引入了Style,样式。它是为了让我们更好的重用样式。看到style,你是不是立即就想到了CSS中的Style?更好的消息是。它基本上和CSS是一样的。就是说,你有了CSS的基础,学习WPF布局,仅仅须要一秒钟的时间。
值得一提的是,它能够想CSS一样,将公共的样式提出来。能够想象一下CSS是怎样使用的。
除了这些新增加的特征外,WPF非常好的继承了WinForm的事件机制。也就是说,我们既能够想布局Html那样布局我们的C/S页面,又能够在控件上双击进入对应事件代码。同一时候还不用考虑分辨率问题。
哇,是不是想立即尝试一下?兴许再说我在WPF开发中的一些技巧使用。敬请期待!
什么是WPF? 秒懂 !的更多相关文章
- 在WPF中使用依赖注入的方式创建视图
在WPF中使用依赖注入的方式创建视图 0x00 问题的产生 互联网时代桌面开发真是越来越少了,很多应用都转到了浏览器端和移动智能终端,相应的软件开发上的新技术应用到桌面开发的文章也很少.我之前主要做W ...
- MVVM框架从WPF移植到UWP遇到的问题和解决方法
MVVM框架从WPF移植到UWP遇到的问题和解决方法 0x00 起因 这几天开始学习UWP了,之前有WPF经验,所以总体感觉还可以,看了一些基础概念和主题,写了几个测试程序,突然想起来了前一段时间在W ...
- MVVM模式解析和在WPF中的实现(六) 用依赖注入的方式配置ViewModel并注册消息
MVVM模式解析和在WPF中的实现(六) 用依赖注入的方式配置ViewModel并注册消息 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二 ...
- MVVM模式解析和在WPF中的实现(五)View和ViewModel的通信
MVVM模式解析和在WPF中的实现(五) View和ViewModel的通信 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 M ...
- MVVM设计模式和WPF中的实现(四)事件绑定
MVVM设计模式和在WPF中的实现(四) 事件绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...
- MVVM模式解析和在WPF中的实现(三)命令绑定
MVVM模式解析和在WPF中的实现(三) 命令绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...
- MVVM模式和在WPF中的实现(二)数据绑定
MVVM模式解析和在WPF中的实现(二) 数据绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...
- MVVM模式和在WPF中的实现(一)MVVM模式简介
MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...
- 逆天通用水印支持Winform,WPF,Web,WP,Win10。支持位置选择(9个位置 ==》[X])
常用技能:http://www.cnblogs.com/dunitian/p/4822808.html#skill 逆天博客:http://dnt.dkil.net 逆天通用水印扩展篇~新增剪贴板系列 ...
随机推荐
- 苹果面临起诉:App Store 涉嫌垄断吗?
今日导读 现代社会,手机在手,啥也不愁.购物不用带钱包,网上支付可以搞定一切:旅游懒得背相机,修图 App 帮你打造最美的自己.看直播.学英语.玩游戏.听音乐,我们的生活已经充斥着各类 App.据悉, ...
- js获取农历
上一篇我们对upupoo网页壁纸改造时用到了农历,upupoo(网页壁纸)自主修改一:农历,这里记一下笔记: 获取当前农历的js 主js: //农历 var CalendarData=new Arra ...
- Spring框架 aop操作的注解方法 基于aspectj的自动注解aop方法 抽取相同的value="execution(public void cn.itcast.f_aspect.CRUD.*())"
首先是在xml配置文件中配置好对象,然后开启aop的注解方法——即<aop:aspectj-autoproxy></aop:aspectj-autoproxy> xml代码如下 ...
- JS中的setInterval 函数体带参数f方法
1.setInterval(function code,delaytime); 在设置自动调用执行function code时,我们可以采用下面三种方式来解决. 一.采用字符串形式:(参数不能被周期性 ...
- mysql恢复数据
1.崩溃恢复: 突然断电.宕机,导致mysql无法正常启动: (1) 关闭数据库. (2) Vim /etc/my.cnf 添加:innodb_force_recovery=1 默认为0. 1( ...
- .NET如何进行数据库连接
在.net中连接sql server数据库,需引入System.Data.SqlClient命名空间: 1,最简单的连接方式: SqlConnection conn = new SqlConnecti ...
- JVM——内存管理和垃圾回收
1. 何为GC 转载请注明出处:http://blog.csdn.net/seu_calvin/article/details/51892567 Java与C语言相比的一个优势是,可以通过自己的JV ...
- luogu2633 Count on a tree
主席树放到树上而已 #include <algorithm> #include <iostream> #include <cstdio> using namespa ...
- 调用hcm接口同步员工数据更新员工信息没有同步到bdm
原来是更新的时候,baseEmployeeEntity的id为空,这时候需要把原先的baseEmployeeEntity1的id赋值给baseEmployeeEntity,问题解决
- zoj 2857 Image Transformation
Image Transformation Time Limit: 2 Seconds Memory Limit: 65536 KB The image stored on a compute ...