两页之间的c ++ / winRT导航

时间:2018-12-08 23:26:30

标签: c++-winrt

我正在尝试从页面(SettingsPage)导航到另一个页面(Page1)。这是尝试的方法:

this->Frame::Navigate(typeid(Page1))

我收到此错误-错误(活动)E0244限定名称不是类“ winrt :: Calculator :: implementation :: SettingsPage”或其基类的成员...

我的问题-拨打电话的正确方法是什么。

1 个答案:

答案 0 :(得分:0)

使用xaml_typename函数模板来获取一个对象,该对象在C ++ / WinRT中适当地描述了XAML的类型(作为TypeName结构)。确保传递适当的限定类型,例如

this->Frame().Navigate(xaml_typename<Page1>());

确保使用#include <winrt/Windows.UI.Xaml.Interop.h>定义了xaml_typename功能模板。

请注意,FramePage的属性,可以使用C ++ / WinRT中的括号来访问。还要注意,Navigate是非静态的类成员,因此不能使用范围解析运算符(::)。