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 [复制链接] [打 印]- ››开发学院教你用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在线编辑器(一)
- ››开发一个自己的HTML在线编辑器(二)
- ››wince 绘图中使用橡皮擦
- ››开发者在App Store上赚的钱比在Android Market上多...
- ››开发者应深入学习的10个Android开源应用项目
- ››Wince中Silverlight程序的中文显示
- ››Wince上开发Silverlight程序的利器:xaml2cpp
更多精彩
赞助商链接