我正在尝试从页面(SettingsPage)导航到另一个页面(Page1)。这是尝试的方法:
this->Frame::Navigate(typeid(Page1))
我收到此错误-错误(活动)E0244限定名称不是类“ winrt :: Calculator :: implementation :: SettingsPage”或其基类的成员...
我的问题-拨打电话的正确方法是什么。
答案 0 :(得分:0)
使用xaml_typename函数模板来获取一个对象,该对象在C ++ / WinRT中适当地描述了XAML的类型(作为TypeName结构)。确保传递适当的限定类型,例如
this->Frame().Navigate(xaml_typename<Page1>());
确保使用#include <winrt/Windows.UI.Xaml.Interop.h>
定义了xaml_typename
功能模板。
请注意,Frame
是Page
的属性,可以使用C ++ / WinRT中的括号来访问。还要注意,Navigate是非静态的类成员,因此不能使用范围解析运算符(::
)。