纵观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. Centos 升级 python

    昨天把redmine的测试环境给搞Over了,想了下,干脆直接把环境给整成docker化的,配置环境的时候,安装docker-compose需要python2.7支持. CentOS 6 系统默认 P ...

  2. !important:element.style 覆盖样式问题

    问题: 浏览器F12看到是这个样子. 但是我设置的样式是这样子. #iframe_close { width:750px; } 无论怎么设置样式,都无法覆盖掉element.style的样式,widt ...

  3. 23种设计模式之享元模式(FlyWeight)

    享元模式是一种对象结构型模式,通过运用共享技术,有效地支持大量细粒度的对象.系统只使用少量的对象,而这些对象都很相似,状态变化很小,对象使用次数增多.享元对象能做到共享的关键是区分内部状态和外部状态. ...

  4. C# IO流的操作(一)

    C# IO流的操作非常重要,我们读写文件都会使用到这个技术,这里先演示一个文件内容复制的例子,简要说明C#中的IO操作. namespace ConsoleApplication1 { class P ...

  5. 常用AT指令集 (转)

    常 用 AT 命 令 手 册 .常用操作 1.1 AT 命令解释:检测 Module 与串口是否连通,能否接收 AT 命令: 命令格式:AT<CR> 命令返回:OK (与串口通信正常) ( ...

  6. State Server实现多机器多站点 Session 共享 全手记

    网络环境有2台windows 2008 (192.168.1.71,192.168.1.72) 需要部署成 WebFarm,提高容错性. 网站部署在2台机器上的2个站点,如何才能做到Session的共 ...

  7. windows下的C++与cuda编译器位置

    在windows下最常见的C++编译器为visual studio自带的编译器cl.exe 通常其所在目录为: C:\Program Files (x86)\Microsoft Visual Stud ...

  8. maven常用的plugin

    maven-compiler-plugin 编译Java源码,一般只需设置编译的jdk版本   <plugin> <groupId>org.apache.maven.plugi ...

  9. FFT【快速傅里叶变换】FWT【快速沃尔什变换】

    实在是 美丽的数学啊 关于傅里叶变换的博客 讲的很细致 图片非常易于理解http://blog.jobbole.com/70549/ 大概能明白傅里叶变换是干吗的了 但是还是不能明白为什么用傅里叶变换 ...

  10. POJ 3254 - Corn Fields - [状压DP水题]

    题目链接:http://poj.org/problem?id=3254 Time Limit: 2000MS Memory Limit: 65536K Description Farmer John ...