首先感谢克伟兄弟,靠看他的博客入门阿。为了后来的兄弟方便,整理了一下资料,可以更方便的创建自己的Silverlight for Embedded工程拉。
1.开发环境安装
VS2008(使用其中的VC++.net) + Silverlight for Embedded(简称SE)+Wince6.0 R3 + 三星6410的SDK + Expression Blend2(界面制作需要)
VS2008自行安装
Wince6.0 R3所需要的文件在“Wince环境.rar”文件中,安装方法见里面的readme.txt,可以到此下载http://download.csdn.net/source/3422509
6410的SDK安装包文件见“6410_Emuletor.msi”
Silverlight for Embedded,不需要另外安装,在Wince6.0 R3中已包含
Expression Blend 2 安装包见“Blend_2_zh-CHS.rar”,安装完以后打SP1补丁“BlendV2SP1_zh-CHS.exe”
2.创建一个SE项目
2.1使用Expression Blend 2生成XAML等资源
创建一个Silverlight application:
你需要使用Expression Blend 2 SP1,该版本支持Silverlight 2。从向导中你会看到你需要选择开发语言是C#还是Visual Basic,SE只能用C++编写,很可惜Expression Blend目前并不支持C++,所以我们不需要Expression Blend生成的任何代码。那么怎样不让Expression Blend帮我们生成的C#或者VB.NET代码呢?请看下图:
创建一个新的项目之后,Expression Blend已经帮你生成好一个空XAML文件(默认叫page.xaml)。我们从Silverlight提供的控件集中拖一个Button按钮,使用属性窗口我们给新按钮分配一个名称,属性窗口允许你自定义按钮的各种属性:颜色、旋转角度(你可以让一个垂直的按钮旋转45度)、透明度等等。我们在下一篇文章中体验这些特性,现在我们仅仅保持按钮原样,并保存XAML文件。(此部分内容发图太麻烦,具体见克伟的博客,链接:http://www.cnblogs.com/wangkewei/archive/2009/12/23/1630517.html)
如果你用一个记事本打开一个XAML文件你会发现它们非常简单:
<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="SimpleApp.Page"
Width="640" Height="480">
<Grid x:Name="LayoutRoot" Background="White">
<Button Height="87" Margin="189,106,209,0" VerticalAlignment="Top" Content="Button" x:Name="MyButton"/>
</Grid>
</UserControl>
UserControl作为顶部容器包含我们的按钮,Grid用于布局(对象被组织成以列和行的形式)。
按钮具有各种属性,比如在grid cell中的定位、对齐方式、content(字符串值“Button”)和name(字符串值”MyButton”)。
新建一个C++的智能设备项目,如下图所示:
l 点击确定后,选择下一步,出现如下图所示,把选定的SDK修改为6410_Emuletor。
l 点击下一步,选择“windows应用程序”,创建完成完成。
l 删除WinMain以外的所有其他函数和变量定义,并把WinMain内容清空
l 添加头文件
#include "pwinuser.h"
#include "xamlruntime.h"
#include "xrdelegate.h"
#include "xrptr.h"
l 点击下图所示的按钮,成功后会显示连接成功,并启动Wince模拟器
l 进入模拟器的菜单File——配置——常规——共享文件夹,指向你PC中的某个目录,并把2.1做的XAML文件放入其中,同时在模拟器的“我的设备”中,出现“Storage Card”,指向PC中的共享文件夹
l 设置SETest的项目属性,在如下图所示部分增加3个包含目录"E:\WINCE600\PUBLIC\COMMON\SDK\INC";"E:\WINCE600\PUBLIC\COMMON\OAK\INC";"C:\Program Files\Windows CE Tools\wce600\JTX_6410_SMDK\Include\Armv4i"
l 此时编译项目,会出现错误:“_In_opt_”: 未声明的标识符……,解决办法,修改报错文件altcecrt.h里面的 #include <sal.h>改成 #include "sal.h"
l 再编译项目,会出现错误:error LNK2019: 无法解析的外部符号GetXRApplicationInstance,该符号在函数WinMain 中被引用,解决办法:项目属性——链接器——输入——附加依赖项,增加"E:\Program Files\Windows CE Tools\wce600\JTX_6410_SMDK\Lib\ARMV4I\xamlruntime.lib",包括引号
l 编译成功,运行
具体内容可以参考“使用Silverlight for Embedded开发绚丽的界面(4)”,链接地址:
http://www.cnblogs.com/wangkewei/archive/2009/12/24/1631644.html