WPF 简介
简介
一、 WPF产生的背景
因为人们的生活水平不断提前,审美观也随着提升,而软件的应用发展水平目前无法赶上大家的审美观和使用要求;比如:像电影中的软件能够方便的使用,而且有动态的效果同时附加形象的声音;而且采用GDI/GDI+开发炫一点的产品,成本很高,为了解决此问题,微软推出了一套解决方案WPF;WPF是基于Directx上开发的,使用的图形是矢量图,所以达到分辨率无关;
二、 概念
Windows Presentation Foundation (WPF) 是一种 UI 框架,可创建丰富的交互式客户端应用程序;WPF是.NET Framework的一个子集;
三、 新特征
可扩展标记语言、逻辑树、可视化树、资源、样式、模板、依赖属性、附加属性、命令、绑定、路由事件、附加事件、动画、转换、2D、3D;
四、 WPF优点
1) 降低了开发和维护成本,因为外观特定的标记并没有与行为特定的代码紧密耦合。 --个人理解,体现在换样式及模板上,比如需求要修改某控件显示风格,这时可以避免整套代码(某模块)进行重新开发,只需要动态更换模板或样式;
2) 开发效率更高,因为设计人员可以在开发人员实现应用程序行为的同时实现应用程序的外观。 -- 说是这样说,但是真正开发的时候,都是设计者做出原型图,开发者开发,然后设计者再进行美化,目前还未达到这个水平;
3) 多种设计和开发工具支持XAML -- 体现在设计者(图形界面设计者)和开发者(代码逻辑实现者)能够使用自己擅长开发工具,比如设计者习惯用Blend,而开发者习惯用VS2012,从而提高开发效率;
4) WPF 应用程序的全球化和本地化得以大大简化 -- 目前对全球化、本地化没有太多接触,不发表意见;
5) 加入了DirectX,图像处理能力强;
五、 WPF缺点
WPF性能开销大,特别是加入特效的程序(如果写得不好,很占系统资源);
注:经常有朋友问我WPF是什么,他跟C#有什么关系?,甚至会问WPF跟C#哪个好?
1) WPF是一个UI框架,C#是微软的一种语言,WPF主要是用于界面开发;
2) WPF采用XAML(可扩展应用程序标记语言)来描述界面布局及呈现,采用C#语言(VB)来实现WPF框架的逻辑处理;
3) WPF跟C#没有直接的关系,他们是不同层面的东西,不能用来对比,如果非要用来对比,可以拿WPF跟WinForms进行对比;WPF比WinForms多了很多新特性,而且开发和维护(扩展)更方便、更有效率,WPF的呈现(底层渲染)跟WinForms不一样;WPF是跟分辨率无关,但WPF的性能开销比WinForms要大【我们可以写一个简单WPF和WinForms进行对比】;
WPF 简介的更多相关文章
- WPF简介:VS创建桌面应用程序
1.简介 1/ 什么是WPF WPF,Windows Presentation Foundation也,译过来就是"Windows呈现基础",你看它的目的非常明确,就是用来把数据& ...
- MFC,QT与WinForm,WPF简介
编程语言的组成编程语言做为一种语言自然和英语这些自然语言有类似的地方.学英语时我们知道要先记26个字母,然后单词及其发音,接下来就是词组,句子.反正简单的说就是记单词,熟悉词法,句法.接下来就是应用了 ...
- [WPF系列]基础学习(一) WPF是什么?
引言 学习之前,我们首先大概了解下WPF诞生的背景以及它所能解决的问题或者新颖之处.WPF作为微软新一代的用户界面技术, WPF简介 WPF的全称是WindowsPresentationFound ...
- WPF编程-WPF体系结构
WPF简介 Windows Presentation Foundation(WPF)是微软新一代图形系统,运行在.NET Framework 3.0架构下,为用户界面.2D/3D 图形.文档和媒体提供 ...
- WPF教程一:基础
一.WPF简介WPF:WPF即Windows Presentation Foundation,翻译为中文“Windows呈现基础”,是微软推出的基于Windows Vista的用户界面框架,属于.NE ...
- C#用户自定义控件(含源代码)-透明文本框
using System; using System.Collections; using System.ComponentModel; using System.Drawing; using Sys ...
- MVVM模式和在WPF中的实现(一)MVVM模式简介
MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...
- WPF三大模板简介(Z)
WPF三大模板简介 WPF支持以下类型的模板: (1) 控件模板.控件模板可以将自定义模板应用到某一特定类型的所有控件,或是控件的某一实例.决定控件外观的是ControlTemplate,它决定了 ...
- WPF Binding值转换器ValueConverter使用简介(二)-IMultiValueConverter
注: 需要继承IMultiValueConverter接口,接口使用和IValueConverter逻辑相同. 一.MultiBinding+Converter 多值绑定及多值转换实例 当纵向流量大于 ...
随机推荐
- GitHub的使用 —— 如何删除Repository
如果要在GitHub上删除一个已经存在的Repository,该怎么办呢 ? 1.首先,点击这个资源(Repository),进入.会看到如下页面: 2.点击 Admin .在 Admin 页面的最下 ...
- vim编辑器配置
原文链接:https://github.com/ma6174/vim http://my.oschina.net/swuly302/blog/156784?fromerr=itaFZFMb https ...
- Cadence ORCAD CAPTURE元件库介绍
Cadence ORCAD CAPTURE元件库介绍 来源:Cadence 作者:ORCAD 发布时间:2007-07-08 发表评论 Cadence OrCAD Capture 具有快捷.通用的 ...
- [Golang]实习最后一天小纪念+并发爬虫小练习
今天是我在公司实习的最后一天,一个月的时间真的是太短暂了,我非常享受在公司工作的这一个月,在这里Leader和同事们对我的帮助极大地促进了我技术水平的进步和自信心的提升,我发自内心地感谢白山云科技给我 ...
- [HIHO1322]树结构判定(并查集)
题目链接:http://hihocoder.com/problemset/problem/1322 给一个图,判断这个图是不是一棵树. 判定的方法:首先是连通图,其次所有点的入度都小于等于1. /* ...
- 手机号段、ip地址归属地大全,最新手机号段归属地,IP地址归属地数据库
百事通:http://www.114best.com/dh/114.aspx?w=17097232323,联通识别为电信的,1349错 二三四五:http://tools.2345.com/frame ...
- cocos2dx 坐标系 -转
(原文出处找不到了) 无论是搞2d还是3d开发,最需要搞清楚的就是坐标系,这部分混乱的话就没啥奔头了.所以玩cocos2d,一上来就先把各种与坐标有关的东西搞清楚. 基本的两个坐标系:屏幕坐标系和GL ...
- android 使用代码实现 RelativeLayout布局
只需把代码copy进入oncreate方法即可运行 RelativeLayout rl = new RelativeLayout(this); Button btn1 = new Button(thi ...
- Chrome 快捷键使用
窗口和标签页快捷方式 Ctrl+N 打开新窗口 按住 Ctrl 键,然后点击链接 在新标签页中打开链接 按住 Shift 键,然后点击链接 在新窗口中打开链接 Alt+F4 关闭当前窗口 Ctrl+ ...
- DOM应用
父级.removeChild(子节点);父级.appendChild(子节点);父级.insertBefore(子节点, 在谁之前); 创建元素: <script> window.onlo ...