当前位置: 首页 > news >正文

WPF与Silverlight技术异同整理总结【附英文原文和PPT】

简单的说,Silverlight是WPF的一个分支,是只能做WEB的应用,如Flash的Flex, 不过现在一般的说(狭隘的)WPF就是指应用于WinForm的方面。这就是两者的区别,具体它们有很多相同的class,method, property,.....也还有一定的不同。

当WPF和Silverlight越来越受到.NET开发人员重视的时候,两者间的界限也越来越模糊。回顾六月,Wintellect发布了鲜为人知但极其重要的“微软WPF和Silverlight之异同白皮书”。我们建议GUI开发人员要通读全部69页,我们会列出主要的观点及其对相关业务范围开发人员的影响。

依赖关系属性是两个平台的重要组成部分,使用PropertyMetadata可代替普通字段来保存属性。Silverlight仅提供了该类,而WPF却有若干子类型可用。

  • UIPropertyMetadata添加了一个标识符,用于决定“在使用了元数据实例的地方,是否应该禁播依赖关系属性的动画”
  • FrameworkPropertyMetadata添加一个标识符来指示影响管道的那些属性,包括控制管理、测量和呈现。它也可用于指示属性是否允许数据绑定以及默认的类型。由于Silverlight不支持该类,因此所有的数据绑定在默认情况下都是单向的。

Silverlight不支持隧道事件。两个平台都支持Direct事件和Bubbling事件。

WPF支持多种类型的触发器。一个简单的触发器附加到依赖关系属性后,当触发器条件满足的时候便会自动修改样式。除了简单触发器以外,WPF也支持可响应路由事件或使用数据绑定的触发器。

Silverlight使用视觉状态管理器代替触发器。WPF当前并不提供该技术,但会在WPF 4.0中添加。

Silverlight仅支持若干标记扩展。除了通用的StaticResource、Binding和TemplateBinding扩展以外,WPF还添加了DynamicResource、RelativeSource、x:Type、x:Static和x:Array。

有很多键盘和鼠标事件仅在WPF中可用。由于为数众多的关系,我们稍后会列出完整列表。

关于UIElement类和IInputElement接口。当某个控件被禁用的时候,WPF使用它们来禁用所有的子控件。Silverlight不提供这种功能,所以开发人员不得不手动遍历控件树。

在通信方面,Silverlight仅限于BasicHttpBinding和PollingDuplexHttpBinding。当然,WPF支持所有的绑定。

最后,打印功能在两者之间也完全不同。WPF可直接打印可视化树而Silverlight则依赖浏览器实现。

查看英文原文:WPF vs. Silverlight – What Really is the Difference?

WPF与Silverlight异同PPT下载:http://www.docin.com/p-55545634.html

相关文章:

  • 升级LLBL Gen 2.x项目到3.x
  • 刀片服务器和机架式服务器各自的特点‍‍
  • Oracle:Oracle 10 RAC 安装群集件的准备工作
  • WebView使用技巧和介绍
  • xx_学驱动 -- 初识SSDT、读取内核API地址、、
  • C语言已死(连载1)——趣味、通俗、实用的计算机达人成长之路之C语言高级技巧篇...
  • MSBuilder directly instead of default VSComplie with keyborad shotcut 原创
  • Oracle checkpoint 说明
  • 在线生成条码代码
  • 以太网波道平衡(通道绑定)
  • 如何用快捷方式打开我的电脑
  • 新手玩Linux ---- 从Linux From Scratch开始学习Linux (四)
  • 艾伟:WCF从理论到实践(1):揭开神秘面纱
  • PS快捷键大全收藏
  • OAF—如何设计Page导航
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • CentOS 7 防火墙操作
  • crontab执行失败的多种原因
  • export和import的用法总结
  • JS 面试题总结
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • 代理模式
  • 分类模型——Logistics Regression
  • 简析gRPC client 连接管理
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 我有几个粽子,和一个故事
  • 移动端 h5开发相关内容总结(三)
  • kubernetes资源对象--ingress
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • ​TypeScript都不会用,也敢说会前端?
  • #pragam once 和 #ifndef 预编译头
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • $.ajax,axios,fetch三种ajax请求的区别
  • (¥1011)-(一千零一拾一元整)输出
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (笔试题)分解质因式
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net 7 上传文件踩坑
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .Net Core 中间件验签
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .Net7 环境安装配置
  • .NET框架设计—常被忽视的C#设计技巧
  • .so文件(linux系统)
  • @RequestBody与@ModelAttribute
  • @Transient注解
  • []T 还是 []*T, 这是一个问题