Wince上开发Silverlight程序的利器:xaml2cpp
2010-08-23 05:28:00 来源:WEB开发网}
在这种情况下我们会创建一个有标题的顶层窗口,我们传递它到构造函数中,并且我们会从与构造函数参数相关的资源中加载XAML类。
如果我们想改变这个行为我们可能在我们的继承类中重写InitWindowParms或者SetXAMLSource方法。
懒人喜欢C++的继承!
这些方法被CreateHost方法调用,它初始化我们的可视主机并且加载了我们的XAML:
// create the visual host and loads the XAML
virtual HRESULT CreateHost(HINSTANCE hInstance,IXRApplication* app)
{
HRESULT retcode;
XRWindowCreateParams wp;
ZeroMemory(&wp, sizeof(XRWindowCreateParams));
InitWindowParms(&wp);
XRXamlSource xamlsrc;
SetXAMLSource(hInstance,&xamlsrc);
if (FAILED(retcode=app->CreateHostFromXaml(&xamlsrc, &wp, &vhost)))
return retcode;
if (FAILED(retcode=vhost->GetRootElement(&root)))
return retcode;
return S_OK;
}
这个方法同样是虚函数,这样如果你需要在你的类中进行一些特殊的初始化 ,可以重写它。通常重写InitWindowParms和SetXAMLSource就足够了,但是一个在初始化时的虚函数调用不怎么的影响性能,所以我宁愿空出一些空间用来定制。
如果你重写CreateHost,请记住:其它的代码需要根节点,并且vhost智能指针会在该函数调用后初始化。
现在,让我们看看XAML2CPP.h中有什么。
/*
This file has been generated by XAML2CPP tool.
Modifications to this source code may be overwritten without warning when the XAML2CPP tool is executed.
XAML2CPP (c) 2009 by Valter Minute (valter.minute@gmail.com)
This code is provided as is and it's generated automatically. It's up to the developer to check that it works as expected.
*/
/*
This header includes all the classes generated by XAML2CPP the last time it was executed.
*/
#ifndef XAML2CPP_H
#define XAML2CPP_H
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在线编辑器(一)
更多精彩
赞助商链接