纵观Windows GUI应用程序开发方法,从Windows API、MFC到Visual Basic再到.NET Framework,WPF的开发方法论是在.NET Framework方法论的基础上更上一层楼的产物,它完全兼容现有Windows Form开发的方法论,同时在很多方向进行了升级和创新。以下是WPF开发方法论的要点:

全新的UI设计理念:XAML语言以及配套工具(Blend & Design)

全新的UI布局理念:树形结构和各种布局元素

全新的基础类库和控件集:所有控件都在WPF方法论的框架下重新设计并放置在System.Windows.Controls名称空间里(这也就是为什么总能在System.Windows.Forms找到同名控件的原因)

升级的程序驱动模式:在事件驱动的基础上把事件包装在数据关联(Data Binding)里,变原来的“UI事件驱动程序运行”为“数据驱动程序运行”并显示在UI上,让数据从被动和从属的地位回到了程序的核心地位(这也正符合了内容决定形式的基本思维方式)

升级的属性系统:在.NET Framework属性的基础上新增依赖属性(Dependency Property)系统以及其派生出来的附加属性(Attached Property)

升级的事件系统:在.NET Framework事件的基础上新增路由事件(Routed Event)系统和基于它的命令(Command)系统

升级的资源系统:WPF程序可以使用资源(Resource)存储更丰富的内容并能进行非常方便的检索

全新的模板概念:在WPF中,内容决定形式的理念随处可见。如果把控件的功能视为内容,则可以使用控件模板(Control Template)来控制它的展现;如果把数据视为内容,则可使用数据模板(Data Template)把数据展现出来

全新的文档与打印系统:基于XPS文档格式,WPF推出了一整套与文档显示和打印相关的类和控件

全新的3D绘图系统:WPF不但具有2D绘图功能,还以完整的类库支持3D绘图、视角和光影效果

全新的动画系统:WPF具有丰富的动画(Animation)创作类库,以前需要程序员费尽心思才能实现的动画效果现在由设计师使用XAML就能实现(有时也需要程序用后台代码实现),很容易就能设计出炫丽多彩的应用程序

[WPF]WPF开发方法论的更多相关文章

  1. WPF学习开发客户端软件-任务助手(下 2015年2月4日代码更新)

    时光如梭,距离第一次写的 WPF学习开发客户端软件-任务助手(已上传源码)  已有三个多月,期间我断断续续地对该项目做了优化.完善等等工作,现在重新向大家介绍一下,希望各位可以使用,本软件以实用性为主 ...

  2. WPF学习开发客户端软件-任务助手(已上传源码)

    本人纯属WPF新手,布局和WPF的开发水平相当欠缺,从个人来说,还是比较喜欢WPF的,有人说WPF是界面加上WINFORM,我不这样认为,WPF与WINFORM主要的不同在于数据绑定.   这个软件虽 ...

  3. WPF Multi-Touch 开发:高效开发模式

    原文 WPF Multi-Touch 开发:高效开发模式 在前几篇文章中已经介绍了触屏操作的多种模式,并对其开发方式也有了进一步了解.细心的朋友应该会发现在上一篇文章中,如果拖动图片过快它会因惯性效果 ...

  4. WPF Multi-Touch 开发:惯性效果(Inertia)

    原文 WPF Multi-Touch 开发:惯性效果(Inertia) 从上一篇实例可以发现在图片移动过程中如果将手指移开屏幕则图片会立刻停止,根据这种情况WPF 提供另外一种惯性效果(Inertia ...

  5. WPF Multi-Touch 开发:高级触屏操作(Manipulation)

    原文 WPF Multi-Touch 开发:高级触屏操作(Manipulation) 在上一篇中我们对基础触控操作有了初步了解,本篇将继续介绍触碰控制的高级操作(Manipulation),在高级操作 ...

  6. WPF Multi-Touch 开发:基础触屏操作(Raw Touch)

    原文 WPF Multi-Touch 开发:基础触屏操作(Raw Touch) 多点触控(Multi-Touch)就是通过与触屏设备的接触达到人与应用程序交互的操作过程.例如,生活中经常使用的触屏手机 ...

  7. WPF 辅助开发工具

    原文:WPF 辅助开发工具 以下介绍的工具均为免费版,有些是源代码开放,希望对大家有用. Kaxaml 轻量级XAML 编辑器,可以同时进行图像和XAML 代码的编辑.最终生成开发人员想要的XAML ...

  8. WPF软件开发系统之二——水环境检测Surface触摸屏软件开发

    该系统采用C#.WPF语言开发,开发工具Visual Studio 2015.Blend,环境WIN7系统及以上,适用于PC.Windows触摸屏Surface等设备. 部分截图效果如下: 开发工具环 ...

  9. 自适应界面开发总结——WPF客户端开发

    1.由于界面大小是变化的,所以必须有一个稳定不变的参考界面(即在一个标准的界面尺寸下进行WPF界面开发,比如:发票查验V3.0的美工设计尺寸——1024*740):   PS:在WPF的用户控件Xam ...

随机推荐

  1. ms转成00:00:00的时间格式化

    毫秒转成 00:00:00的时间格式 比如1000毫秒转成00:00:01 /** * 格式化邀请的时间 * @param time ms */ public static formatTime(ti ...

  2. iOS - Reveal逆向分析任意iOS应用的UI界面

    在iOS逆向工程中,Reveal扮演着重要角色,一般情况下,Reveal在iOS开发过程中可以分析UI界面的状态,同样也可以应用于分析其他任意的App.Reveal是一个很强大的UI分析工具,可非常直 ...

  3. iOS - APP审核Guideline 2.5.1被拒,使用了私有API

    最近iOS 审核被拒,说是使用了私有API:com.apple.springboard.lockcomplete 具体内容如下: 发件人 Apple . Performance: Software R ...

  4. 解决 Python shell 中 Delete/Backspace 键乱码问题

    简述 进入 Python shell,按下 Delete/Backspace 键,会出现 ^H 字符.命令输入错误后只能从头开始,无法删除,让人很头疼.为了便于后期使用,分享一个一劳永逸的方式. 基本 ...

  5. 牛客网多校赛第九场A-circulant matrix【数论】

    链接:https://www.nowcoder.com/acm/contest/147/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524 ...

  6. Solr学习笔记之5、Component(组件)与Handler(处理器)学习

    Solr学习笔记之5.Component(组件)与Handler(处理器)学习 一.搜索篇 拼写检查(spellCheck) 作用:用来检查用户输入的检索内容是否存在,如果不存在则给它提示出相近或相似 ...

  7. iOS-深入理解(转载)

    RunLoop 是 iOS 和 OS X 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理.之后会介绍一下在 iOS 中,苹果是如何 ...

  8. 图论最短路——spfa

    今天开始图论的最短路的最后复习,今天自己手打spfa虽然看了一眼书,但是也算是自己打出来的,毕竟很久没打了,而且还是一遍a代码下来15min左右就搞完了,成就感++.所以呢来篇博客记录一下. 香甜的黄 ...

  9. Vue源码学习1——Vue构造函数

    Vue源码学习1--Vue构造函数 这是我第一次正式阅读大型框架源码,刚开始的时候完全不知道该如何入手.Vue源码clone下来之后这么多文件夹,Vue的这么多方法和概念都在哪,完全没有头绪.现在也只 ...

  10. paas容器云