纵观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就能实现(有时也需要程序用后台代码实现),很容易就能设计出炫丽多彩的应用程序

转载于:https://www.cnblogs.com/giserxiaoliang/p/4546665.html

[WPF]WPF开发方法论相关推荐

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

    在上一篇中我们对基础触控操作有了初步了解,本篇将继续介绍触碰控制的高级操作(Manipulation),在高级操作中包含了一些特殊的触屏手势:平移.缩放.旋转,当然在WPF 中无需自行开发这些手势,只 ...

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

    从上一篇实例可以发现在图片移动过程中如果将手指移开屏幕则图片会立刻停止,根据这种情况WPF 提供另外一种惯性效果(Inertia).通过它可以使UI 单元移动的更加符合物理特性.更为实际和流畅. 在前 ...

  3. WPF 4 开发Windows 7 跳转列表(JumpList)

    原文:WPF 4 开发Windows 7 跳转列表(JumpList) 在之前写过的<Windows 7 任务栏开发系列>中我们通过Visual Studio 2008 借助微软提供的Wi ...

  4. WPF PRISM开发入门一( 初始化PRISM WPF程序)

    原文:WPF PRISM开发入门一( 初始化PRISM WPF程序) 这篇博客将介绍在WPF项目中引入PRISM框架进行开发的一些基础知识.目前最新的PRISM的版本是Prism 6.1.0,可以在G ...

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

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

  6. C++开发WPF,开发环境配置

    C++开发WPF,开发环境配置 操作系统:Windows XP SP2, Windwos Vista 开发工具:Visual Studio 2005,Expression Blend SDK:.NET ...

  7. 一起谈.NET技术,WPF Ribbon 开发资料分享

    Ribbon 开发工具 WPF Ribbon New 目前微软发布的最新Ribbon 开发工具,上一篇已经做过介绍这里就不再多说了.支持WPF 3.5 SP1.WPF 4,全面兼容VS2010 和Bl ...

  8. 基于WPF的开发的知识点

    基于WPF的开发 一.XAML 语言 XAML被编译为BAML(Binary Application Markup Language)文件.通常,BAML文件比XAML更小,编译后的BAML都是Pre ...

  9. WPF 项目开发入门(一) 安装运行

    WPF 项目开发入门(一) 安装运行 WPF 项目开发入门(二) WPF 页面布局 WPF 项目开发入门(三)WPF 窗体与页面 WPF 项目开发入门(四) MVVM 模式 与 TreeView树组件 ...

最新文章

  1. poj1548 Robots
  2. Android中利用隐式意图发送短信
  3. python学习-之汉诺塔实现
  4. SQLiteHelper
  5. Android 计算布局背景的透明度
  6. C++ 通讯录设计(三)
  7. python截取字符串函数substr_PHP substr():截取字符串
  8. python绘制三维图散点图_python matplotlib模块——绘制三维图形、三维数据散点图...
  9. 字节流通向字符流的桥梁:InputStreamReader
  10. 每周荐书:机器学习、Java虚拟机、微信开发(评论送书)
  11. C# 用装饰模式实现蝌蚪变青蛙的过程-续
  12. python(12)给文件读写上锁
  13. 项目中常见的沟通方式
  14. 厦门大学计算机科学与技术学院官网,罗晔-厦门大学计算机科学系
  15. 中国牛市还会来吗,中国牛市啥时候到?
  16. 什么是AMD;什么是CMD
  17. Tomcat with muti instance
  18. 等你来战 | 第五届“强网”拟态防御国际精英挑战赛报名开启!
  19. WEBGIS开发 常用开发功能简介 数据处理 标绘 业务数据可视化 视频融合 Cesium EarthSDK
  20. 自定义字体文件解析成人眼可识别文字

热门文章

  1. Git提交到码云(转)
  2. web之用FileUpload上传文件
  3. ./dmitry -p ip或者域名 -f -b
  4. Flash 与 Js 相互调用
  5. hdu-3015 Disharmony Trees---离散化+两个树状数组
  6. php获取目录中的所有文件名
  7. 代码生成技术--CodeDom VS T4
  8. Android SwipeRefreshLayout 、RecyclerView冲突下拉冲突的解决方案
  9. std::remove
  10. 都快下班了,才来写日记