写点什么

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

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

关注

评论

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

前端面试指南之React篇(一)

beifeng1996

React

React源码分析(二)渲染机制

goClient1992

React

js函数柯里化-面试手写版

helloworld1024fd

JavaScript

详细解读 React useCallback & useMemo

夏天的味道123

React

iofod 支持生成 Electron 桌面应用

iofod jude

前端 低代码平台 iofod

【MySQL】如何构建一个完整的MySQL知识体系(MySQL专栏启动)

小明Java问道之路

Java MySQL MySQL 数据库 11月月更

合格vue开发者应该知道的面试题

bb_xiaxia1998

Vue

深入react源码看setState究竟做了什么?

flyzz177

React

JS继承有哪些,你能否手写其中一两种呢?

helloworld1024fd

JavaScript

React源码分析(三):useState,useReducer

goClient1992

React

一文搞定Vue面试

bb_xiaxia1998

Vue

Mac部署hadoop3(伪分布式)

程序员欣宸

大数据 hadoop 11月月更

React的useLayoutEffect和useEffect执行时机有什么不同

beifeng1996

React

从源码角度看React-Hydrate原理

flyzz177

React

细说react源码中的合成事件

flyzz177

React

百度前端二面常考手写面试题总结

helloworld1024fd

JavaScript

22道js输出顺序问题,你能做出几道

loveX001

JavaScript

华为云从入门到实战 | 云关系数据库备份、恢复及存储容灾服务

TiAmo

华为 华为云 11月月更

跟着卷卷龙一起学Camera--Rolling Shutter

卷卷龙

ISP camera 11月月更

跟着卷卷龙一起学Camera--MIPI 01

卷卷龙

ISP camera 11月月更

前端经常遇到的手写js题

helloworld1024fd

JavaScript

AWS S3 bucket 的 ACL 控制

HoneyMoose

React源码分析1-jsx转换及React.createElement

goClient1992

React

一年前端面试打怪升级之路

loveX001

JavaScript

前端面试那些题

loveX001

JavaScript

React循环DOM时为什么需要添加key

beifeng1996

React

前端面试指南之React篇(二)

beifeng1996

React

new Vue的时候到底做了什么

bb_xiaxia1998

Vue

Vue的computed和watch的区别是什么?

bb_xiaxia1998

Vue

防守体系建设三部曲

阿泽🧸

11月月更 防守体系

跟着卷卷龙一起学Camera--延迟04

卷卷龙

ISP camera 11月月更

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