Wince上开发Silverlight程序的利器:xaml2cpp
2010-08-23 05:28:00 来源:WEB开发网if (FAILED(retcode=root->FindName(L"LayoutRoot",&LayoutRoot)))
return retcode;
if (FAILED(retcode=root->FindName(L"MyButton",&MyButton)))
return retcode;
return S_OK;
}
这个函数里的代码看起来很无趣...但是你不需要写它,XAML2CPP已经为你生成好了,这样的话,就能防止输入错误的名称,或者在剪切和粘贴中遗忘某些东西哦了(我知道你使用剪切和复制来写这些代码,就像我一样!)
现在我们需要绑定事件处理函数到这些对象,这些是在BindEventHandlers里做的:
// binds event handlers to template class member functions
// should be called after BindObjects
virtual HRESULT BindEventHandlers()
{
HRESULT retcode;
//declare your own event handler as
// HRESULT OnClick(IXRDependencyObject* source,XRMouseButtonEventArgs* args)
IXRDelegate< XRMouseButtonEventArgs>* OnClickDelegate;
retcode=CreateDelegate< X,XRMouseButtonEventArgs>((X*)this,&X::OnClick,&OnClickDelegate);
if (FAILED(retcode))
return retcode;
if (FAILED(retcode=MyButton->AddClickEventHandler(OnClickDelegate)))
return retcode;
OnClickDelegate->Release();
return S_OK;
}
正如你看到的一样,创建了一个代理(delegate),使用类中的OnClick方法传递到模板,那就是你自身的类了。你需要在你的类中声明OnClick方法,如果缺少的话,你会在CreateDelegate中看到一个编译错误。就在那一行上面,你会发现方法(OnClick)的原型,你可以用来剪切和粘贴到你的代码中。
现在我们知道了XAML2CPP是怎样运行的,会生成什么代码,我们还需知道如何把它整合到我们自身的代码中去。
你可以使用Platform Builder来创建一个空的Win32工程。
然后重复我们在Silverlight for Windows Embedded指南第一课所作的: http://geekswithblogs.net/WindowsEmbeddedCookbook/archive/2009/10/01/silverlight-for-embedded-tutorial.aspx
然后把你的XAML文件放到子工程中,再使用XAML2CPP运行它。你会在子工程中看到我们上面描述的文件。
Tags:Wince 开发 Silverlight
编辑录入:coldstar [复制链接] [打 印]- ››开发Android 日历教程
- ››开发学院总结 Win 8实用技巧大全
- ››开发学院原创教程:把win8的IE10放桌面上方法(非...
- ››silverlight全屏显示图片
- ››Silverlight MVVM 模式(一) 切近实战
- ››开发者眼中的Windows Phone和Android
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››Silverlight for Windows Phone 7开发系列(1):...
- ››Silverlight for Windows Phone 7开发系列(2):...
- ››Silverlight for Windows Phone 7开发系列(3):...
- ››Silverlight for Windows Phone 7开发系列(4):...
- ››开发一个自己的HTML在线编辑器(一)
更多精彩
赞助商链接