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

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

 2010-08-23 05:28:00 来源:WEB开发网   
核心提示:不包含我的版权声明,还让你少些了4行代码,Wince上开发Silverlight程序的利器:xaml2cpp(3),不错吧!XAML2CPPBase.h会包含相同的内容,它是XAML2PP生成类的基类(XAML2CPPBase),我们的可视主机(Visual host)(如果你的窗口没有标题栏的话,你可能不需要设置一个

不包含我的版权声明,还让你少些了4行代码。不错吧!

XAML2CPPBase.h会包含相同的内容,它是XAML2PP生成类的基类(XAML2CPPBase)。即使它不一定必须,这个文件也会在每次XAML2CPP运行时生成。在这种情况下,即XAML2CPP更新了,基类的改变也不需要你的重新部署以及在所有使用到的工程中更新它(在某种情况下,变懒会阻止维护的噩梦)

这里会有一些成员和方法的定义,在版权声明后你会发现基类的定义:

class XAML2CPPBase{...}

在这个类中我们会发现一些XAML运行时对象:

// Pointer to the visual host IXRVisualHostPtr vhost; // Pointer to the root of the XAML visual tree IXRFrameworkElementPtr root;

和一些访问它们的方法(它在基类中被定义为protected)

// returns the visual host IXRVisualHost* GetVisualHost() { return vhost; } // returns the visual tree root IXRFrameworkElement* GetRoot() { return root; }

我们同样发现了2个字符串指针和一个初始化它们的构造函数:

// Pointer to the page title TCHAR* windowtitle; // Pointer to the resource name TCHAR* xamlresourceid; public:

XAML2CPPBase(TCHAR* windowtitle,TCHAR* xamlresourceid) { this->windowtitle=windowtitle; this->xamlresourceid=xamlresourceid; }

这些指针用来设置窗口标题,我们的可视主机(Visual host)(如果你的窗口没有标题栏的话,你可能不需要设置一个标题)和与XAML2CPPBase继承类相关联的XAML资源id。

这些代码被用作两项功能:设置窗口创建参数,加载XAML方法:

// Initializes Windows parameters, can be overridden in the user class to change its appearance

virtual void InitWindowParms(XRWindowCreateParams* wp)

{

wp->Style = WS_OVERLAPPED;

wp->pTitle = windowtitle;

wp->Left = 0;

wp->Top = 0;

}

// Set the XAML source path. By default loads the XAML that is included in the resources script

virtual void SetXAMLSource(HINSTANCE hInstance,XRXamlSource* xamlsrc)

{

xamlsrc->SetResource(hInstance,TEXT("XAML"),xamlresourceid);

上一页  1 2 3 4 5 6 7  下一页

Tags:Wince 开发 Silverlight

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