大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

拥有完整硬件访问权限的本地 Silverlight

  • 2012-04-12
  • 本文字数:909 字

    阅读完需:约 3 分钟

Silverlight Embedded 是专门为嵌入式设备设计的,那些设备不一定拥有网络连接能力,或者只会偶尔连接。它选择 XAML 作为 UI 层,从而嵌入式系统的设计师和开发人员可以实现工作的分离,就像.NET 和 Web 开发人员一样。但是硬件的限制意味着本地编程语言更适合。

重要的是要注意到这并不是 Windows 8 或者 WinRT。Silverlight Embedded 拥有对操作系统暴露出来的 Win32 API 以及硬件的完整访问权限。在 Silverlight 之下,所有遗留的 Windows Embedded 类库都可以继续使用。

也就是说,它们之间有类似之处。例如,通过 DirectDraw 或者 OpenGL 提供了硬件加速图形(Hardware accelerated graphics),但那并不是必须的。在Silverlight Embedded 中可以使用一般的XAML 绑定表达式支持数据绑定。在代码端,模型需要实现 IXRPropertyBag 接口而不是 INotifyPropertyChanged。想要了解其他区别,你可以查看 Silverlight 3 和 Silverlight Embedded 之间的比较一文。

Silverlight for Embedded 的第一个版本是为 Windows Embedded CE 6 Release 3 发布的。这个版本拥有基于 Silverlight 2 的 API。下一个版本针对 Windows Embedded Compact 7,它会使用 Silverlight 3 的 API。第一个版本的工具很粗糙,但是微软声称新的版本会更加成熟。想要开始使用它,所需工具有:

  • Visual Studio 2008
  • Expression Blend 3
  • Silverlight for Embedded SDK
  • Platform Builder 7

platform builder 是特别引入的: 这个工具会为 Expression Blend 的 Silverlight/XAML 项目创建 C++ 项目的框架。在运行工具之前,需要对将要访问的控件命名,并注册事件处理程序。表示它们的字段和回调函数会在得到的 C++ 头文件和代码文件中自动生成。当 XAML 发生改变时,就需要重新应用工具以更新生成的代码。

在 Silverlight Embedded 还提供了像动画之类的功能。故事板(storyboard)是在 Expression Blend 中创建的,就像你构建 Silverlight for web 或者 Silverlight for Windows Phone 应用程序一样。当然,我们必须小心避免使用对于目标硬件过于复杂的动画。你可以在视频创建和使用Silverlight for Embedded 应用程序中看到演示。

查看英文原文: A Native of Silverlight with Full Hardware Access

2012-04-12 09:212300
用户头像

发布了 340 篇内容, 共 144.9 次阅读, 收获喜欢 13 次。

关注

评论

发布
暂无评论
发现更多内容

Bzz节点分币系统开发,云算力矿机租赁系统搭建

详解 Go 程序的启动流程,你知道 g0,m0 是什么吗?

煎鱼

Java php 后端 Go 语言

谁说双非本就一定无缘阿里!(四年crud经验已拿下P7)面经分享

Java 程序员 架构 面试 计算机

公安情报研判分析系统解决方案,合成作战系统搭建

JAVA笔记(三)--变量及运算符

加百利

Java 程序员 后端 6月日更

开发者如何构建技术影响力

不脱发的程序猿

程序人生 开发者如何构建技术影响力 技术影响力

新思科技宣布收购 Code Dx公司 添加软件漏洞关联、优先级和合并风险报告

InfoQ_434670063458

新思科技

[译] 规避供应商以及特定版本的 VM Bugs

Antway

6月日更

WebRTC 传输安全机制第二话:深入显出 SRTP 协议

阿里云CloudImagine

音视频 WebRTC 通信 流媒体开发 SRS流媒体服务器

618 技术特辑(一)不知不觉超预算3倍,你为何买买买停不下来?

华为云开发者联盟

电商 图数据库 知识图谱 618 图引擎服务

618 技术特辑(二)几百万人同时下单的秒杀,为什么越来越容易抢到了

华为云开发者联盟

数据库 服务器 流量 618 弹性负载均衡

MySQL中的pid与socket是什么?

Simon

MySQL

校友会小程序开发笔记三:数据库设计

CC同学

小程序云开发 校友录小程序 校友会小程序

pprof排查Golang服务内存问题

循环智能

pprof 性能分析 Go 语言

🌏【架构师指南】分布式技术知识点总结(上)

码界西柚

分布式 raft协议 paxos协议 6月日更

校友会小程序开发笔记一:背景与技术方案的选型

CC同学

小程序云开发 校友录小程序 校友会小程序

校友会小程序开发笔记四:UI基本元素设计

CC同学

小程序云开发

5W1H聊开源之Who/When/Where——谁在何时何地“发明”了开源?

禅道项目管理

Linux 开源 软件

拍乐云受邀2021亚太CDN峰会,技术创新赋能行业新价值

拍乐云Pano

RTC

分布式能解决一切问题吗?百度架构师为你解答架构真正奥义!

Java架构师迁哥

【LeetCode】石子游戏Java题解

Albert

算法 LeetCode 6月日更

校友会小程序开发笔记二:功能需求设计

CC同学

小程序云开发 校友录小程序 校友会小程序

可视化协助矿山,打造“高效率运营战略”,年降成本500W

一只数据鲸鱼

数据可视化 工业4.0 智慧矿山

测试工程师如何收拾交接项目的烂摊子

陈磊@Criss

测试

凭这份pdf每天花2小时学习,3个月后拿下阿里/美团/京东等offer

Java 程序员 架构 面试

译文 | AI产品经理:如何打造一款SaaS+AI的优质产品

LigaAI

产品经理 研发管理

针对 MySQL IO 特点进行的存储优化揭秘

焱融科技

MySQL 技术 分布式 高性能 文件存储

6月26日,HarmonyOS开发者日将于杭州举办

科技汇

JavaScript 学习(三)

空城机

JavaScript 大前端 6月日更

阿里云视频云 Retina 多媒体 AI 体验馆开张啦!

阿里云CloudImagine

阿里云 短视频 视频处理 媒体处理 视频制作

教你两招,解决数据膨胀

华为云开发者联盟

数据 GaussDB(DWS) VACUUM 数据膨胀 FSM

拥有完整硬件访问权限的本地Silverlight_C++_Jonathan Allen_InfoQ精选文章