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 应用程序中看到演示。
评论