Wince上开发Silverlight程序的利器:xaml2cpp
2010-08-23 05:28:00 来源:WEB开发网#include "T_Page.h"
#endif //XAML2CPP_H
在这个文件中,你会发现它包含了XAML2CPP从XAML文件中生成类的头文件。这样,如果,你就在每个源文件中包含它,就能访问工具生成的每个类了。在预处理头文件中包含它的话(通常是stdafx.h),可以节省一些编译的时间。
现在,让我们看看T_Page.h的一些细节:
#ifndef Page_TEMPLATE_HEADER_FILE_H
#define Page_TEMPLATE_HEADER_FILE_H
#include "windows.h"
#include "pwinuser.h"
#include "xamlruntime.h"
#include "xrdelegate.h"
#include "xrptr.h"
#include "XAML2CPP_res.h"
在防止重复包含的#ifdef语句后你会发现你包含了一些用来编译需要编译Silverlight for Windows Embedded程序的头文件。这样会节省一些时间。
下面,我们看到了一个模板定义:
/*class generated by XAML2CPP from .Page.xaml
*/
template < class X>
class TPage : public XAML2CPPBase
{
...
}
我使用模板来连接事件处理程序和你自身的代码,而不是工具生成的代码。
我可能使用一个函数来调用我的类中的纯虚方法,并且让你在继承类中实现你的方法,但是这样可能会对性能有(少许的)影响。
我们有个包含2个参数的构造函数,可以把它们传递到XAML2CPPBase的构造函数。这样的话,你就可以改变窗口的标题和XAML资源id,当然,用工具生成的也没问题。
public: TPage(TCHAR* title=TEXT("Page"),TCHAR* xamlid=IDR_XAML_Page) : XAML2CPPBase(title,xamlid) { }
这样,我们就有了2个智能指针:
protected:
// XAML defined objects (declared as smart pointers) IXRGridPtr LayoutRoot; IXRButtonPtr MyButton;
工具使用你在XAML代码中的x:Name属性来命名它们(或者是你在Expression Blend中设置的属性)
这些智能指针需要和XAML对象绑定,这些代码就在BindObjects方法里:
// binds objects smart pointers to objects created by the runtime
virtual HRESULT BindObjects()
{
HRESULT retcode;
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在线编辑器(一)
更多精彩
赞助商链接