WEB开发网
开发学院手机开发Windows Mobile 开发 Wince上开发Silverlight程序的利器:xaml2cpp 阅读

Wince上开发Silverlight程序的利器:xaml2cpp

 2010-08-23 05:28:00 来源:WEB开发网   
核心提示:在你的工程中添加一个rc文件,像我们在指南中描述的一样,Wince上开发Silverlight程序的利器:xaml2cpp(7),但是不要添加XAML资源,将XAML2CPP为你生成的rc文件添加到工程当中,一些特性和初始化的封装,这不是一个大的框架,移向"resource view"标签,右击你的

在你的工程中添加一个rc文件,像我们在指南中描述的一样,但是不要添加XAML资源。

将XAML2CPP为你生成的rc文件添加到工程当中。

移向"resource view"标签,右击你的工程.rc文件,选择"包含资源..."(Resource includes...),在里面添加代码:

#include "XAML2CPP.rc"

然后关闭该对话框

这样的话我们就可以包含所有XAML2CPP为我们生成的资源,无需手动添加(试试吧)

现在你可以编辑你的main.cpp源文件,在源文件中需要包含"XAML2CPP.h":

#include "XAML2CPP.h"

现在可以定义一个类来实现XAML2CPP没有为你实现的代码:

class Page : public TPage< Page>

{

public:

HRESULT OnClick(IXRDependencyObject* source,XRMouseButtonEventArgs* args)

{

MessageBox(NULL,TEXT("Click!"),TEXT("Click!"),MB_OK);

return S_OK;

}

};

你可以看到这个类很简单。你只需要写一些代码(你甚至可以将函数原型从TPage.h中拷贝出来,这,多么适合懒人编程啊!)无需初始化代码,无需事件绑定代码。

让我们看看为了创建你自身的XAML UI,在WinMain函数中需要做些什么。

你还是需要添加运行时初始化代码(你可以从上一个例子中拷贝过来,所以还是不要太懒!)

WINAPI WinMain(HINSTANCE hInstance,

HINSTANCE hPrevInstance,

LPTSTR lpCmdLine,

int nCmdShow)

{

if (!XamlRuntimeInitialize())

return -1;

HRESULT retcode;

IXRApplicationPtr app;

if (FAILED(retcode=GetXRApplicationInstance(&app)))

return -1;

}

现在你可以创建和显示你的XAML页面:

Page page;

if (FAILED(page.Init(hInstance,app)))

return -1;

UINT exitcode;

if (FAILED(page.GetVisualHost()->StartDialog(&exitcode)))

return -1;

return 0;

你需要声明你的类实例,对它调用Init方法(传递程序的HINSTANCE和一个指向XAML运行时程序对象的指针),然后你可以通过可视主机的方法来访问它。

正像你看到的,XAML2CPP生成了一些“样板”代码,一些特性和初始化的封装。这不是一个大的框架,但是但愿你能喜欢它。

你可以从这里下载XAML2CPP:

http://cid-9b7b0aefe3514dc5.skydrive.live.com/self.aspx/.Public/XAML2CPP.zip

上一页  2 3 4 5 6 7 

Tags:Wince 开发 Silverlight

编辑录入:coldstar [复制链接] [打 印]
赞助商链接