写点什么

拥有完整硬件访问权限的本地 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:212158
用户头像

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

关注

评论

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

小傅哥,一个有“副业”的码农!

小傅哥

Java 小傅哥 技术成长 码农副业

字节、美团等客户与华为联合创新DCI智能控制器,共筑互联网基础设施新生态

再不解决延迟不当,小心你的内存被打爆

华为云开发者联盟

线程 延迟 内存 并发 Sleep

手把手带你体验 Amazon Graviton2 的高性价比!文末有惊喜

亚马逊云科技 (Amazon Web Services)

Django 之路由篇

若尘

django Python编程 路由 5月日更

选择排序&插入排序 - DAY 15

Qien Z.

排序算法 插入排序 5月日更

通用连接池帮你解决资源管理难题

万俊峰Kevin

MySQL redis mongodb pool Go 语言

redis在微服务领域的贡献

捉虫大师

redis dubbo RPC 协议 注册中心

腾讯云实名认证流程

三掌柜

5月日更

记一次与写作朋友的线下沙龙

架构精进之路

技术交流 杂记 5月日更

屏幕共享的实现与应用

anyRTC开发者

音视频 WebRTC RTC sdk

NUCLEO-L432KC实现ADC配置(STM32L432KC)

不脱发的程序猿

嵌入式 单片机 NUCLEO-L432KC STM32L432KC 光敏电阻传感器

【Flutter 专题】120 Flutter & 腾讯移动通讯 TPNS~

阿策小和尚

5月日更 Flutter 小菜 0 基础学习 Flutter Android 小菜鸟

ThreadLocal内存溢出代码演示和原因分析!

王磊

Java 多线程

详解RS232、RS485、RS422、串口和握手

不脱发的程序猿

串口 通信总线 RS232、RS485、RS422 握手通信

掌握学习方法,成为技术大牛

实力程序员

Cilium 1.10 重磅发布!】支持 Wireguard, BGP, Egress IP 网关, XDP 负载均衡, 阿里云集成

公众号:云原生Serverless

云原生 cilium cni

全新F1洞察精彩亮相,帮你理解赛道上的瞬间决定!

亚马逊云科技 (Amazon Web Services)

强化基于位置的4种营销策略

郑州埃文科技

IP 营销 ISP

☕【JVM 技术之旅】深入JVM原理分析synchronized

码界西柚

synchronized 重量级锁 5月日更 同步锁 ObjectMontior

探索专有领域的端到端ASR解决之道

华为云开发者联盟

端到端 ASR 自动语音识别 语境偏移 专有领域

密码学系列之:memory-hard函数

程序那些事

加密解密 密码学 程序那些事

5G掀起工业互联网浪潮,水泥厂智能管理模式收效颇丰

一只数据鲸鱼

数据可视化 工业互联网 智慧工厂 水泥厂 智能工厂

GitHub开源的10个超棒后台管理面板

不脱发的程序猿

GitHub 开源 后台管理面板

详解 WebRTC 高音质低延时的背后 — AGC(自动增益控制)

阿里云CloudImagine

阿里云 WebRTC 3A算法 音频技术 视频云

Nginx调试必备的几种技能

运维研习社

nginx 运维 实用技巧 5月日更

CG行业云渲染服务的演进之路

华为云开发者联盟

公有云 CG 渲染 云渲染 影视动画

☕【JVM 技术之旅】攻克技术盲点之“JVM常量池们“

码界西柚

JVM 5月日更 字符串常量池 静态常量池 运行时常量池

Feed流系统重构-架构篇

勇哥java实战分享

架构 RocketMQ 分库分表 ShardingJDBC redisson

k8s 集群下微服务 pod 的各种指标信息监控

Damon

微服务 5月日更

驾云驭能,云科技点燃制造创新之旅!

亚马逊云科技 (Amazon Web Services)

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