简介

一、   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 简介的更多相关文章

  1. WPF简介:VS创建桌面应用程序

    1.简介 1/ 什么是WPF WPF,Windows Presentation Foundation也,译过来就是"Windows呈现基础",你看它的目的非常明确,就是用来把数据& ...

  2. MFC,QT与WinForm,WPF简介

    编程语言的组成编程语言做为一种语言自然和英语这些自然语言有类似的地方.学英语时我们知道要先记26个字母,然后单词及其发音,接下来就是词组,句子.反正简单的说就是记单词,熟悉词法,句法.接下来就是应用了 ...

  3. [WPF系列]基础学习(一) WPF是什么?

    引言 学习之前,我们首先大概了解下WPF诞生的背景以及它所能解决的问题或者新颖之处.WPF作为微软新一代的用户界面技术,   WPF简介 WPF的全称是WindowsPresentationFound ...

  4. WPF编程-WPF体系结构

    WPF简介 Windows Presentation Foundation(WPF)是微软新一代图形系统,运行在.NET Framework 3.0架构下,为用户界面.2D/3D 图形.文档和媒体提供 ...

  5. WPF教程一:基础

    一.WPF简介WPF:WPF即Windows Presentation Foundation,翻译为中文“Windows呈现基础”,是微软推出的基于Windows Vista的用户界面框架,属于.NE ...

  6. C#用户自定义控件(含源代码)-透明文本框

    using System; using System.Collections; using System.ComponentModel; using System.Drawing; using Sys ...

  7. MVVM模式和在WPF中的实现(一)MVVM模式简介

    MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...

  8. WPF三大模板简介(Z)

    WPF三大模板简介   WPF支持以下类型的模板: (1) 控件模板.控件模板可以将自定义模板应用到某一特定类型的所有控件,或是控件的某一实例.决定控件外观的是ControlTemplate,它决定了 ...

  9. WPF Binding值转换器ValueConverter使用简介(二)-IMultiValueConverter

    注: 需要继承IMultiValueConverter接口,接口使用和IValueConverter逻辑相同. 一.MultiBinding+Converter 多值绑定及多值转换实例 当纵向流量大于 ...

随机推荐

  1. JAVA多线程下载网络文件

    JAVA多线程下载网络文件,开启多个线程,同时下载网络文件.   源码如下:(点击下载 MultiThreadDownload.java) import java.io.InputStream; im ...

  2. ZOJ Problem Set - 3861 Valid Pattern Lock(dfs)

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3861 这道题当时没做出来,后来经过队友提醒才做出来. 3*3的九宫格,给你 ...

  3. bash/shell 数学计算

    $ echo $((20.0/7)) $ zcalc $ bc <<< 20+5/2 $ bc <<< 'scale=4;20+5/2' $ expr 20 + 5 ...

  4. shell 实例收集

    shell编程入门 http://www.runoob.com/linux/linux-shell-variable.html http://c.biancheng.net/cpp/shell/ 1. ...

  5. ASP.NET MVC路由配置

    一.命名参数规范+匿名对象 routes.MapRoute(name: "Default", url: "{controller}/{action}/{id}" ...

  6. php如何控制用户对图片的访问 PHP禁止图片盗链(转载)

    把images目录设置成不充许http访问(把图片目录的:读取.目录浏览 两个权限去掉). 用一个PHP文件,直接用file函数读取这个图片.在这个PHP文件里进行权限控制. apache环境中,在你 ...

  7. POJ 1436 (线段树 区间染色) Horizontally Visible Segments

    这道题做了快两天了.首先就是按照这些竖直线段的横坐标进行从左到右排序. 将线段的端点投影到y轴上,线段树所维护的信息就是y轴区间内被哪条线段所覆盖. 对于一条线段来说,先查询和它能相连的所有线段,并加 ...

  8. Web Forms vs Web MVC

    MVC相对于WebForm来说更难学习,但性能优于WebForm,比较适合大型项目,开发成本较高,但耦合度低,易于维护,没有太多的现成控件,开发效率较低.对WebForm有基础的人反而不太容易学MVC ...

  9. 字符集设置为UTF-8

    vi /etc/my.cnf [mysqld] character-set-server=utf8 [mysql] default-character-set=utf8 来自为知笔记(Wiz)

  10. BZOJ 1176 MOKIA

    cdq分治. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm ...