c ++ / winRT Навигация между двумя страницами - PullRequest
0 голосов
/ 09 декабря 2018

Я пытаюсь перейти со страницы (SettingsPage) на другую страницу (Page1).Вот что попробовал:

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

И я получаю эту ошибку - Ошибка (активная) E0244 квалифицированное имя не является членом класса "winrt :: Calculator :: creation :: SettingsPage" или его базовых классов ...

Мой вопрос - как правильно сделать этот звонок.

1 Ответ

0 голосов
/ 09 декабря 2018

Используйте шаблон функции xaml_typename , чтобы получить объект, который надлежащим образом описывает тип XAML (как TypeName struct) в C ++ / WinRT.Обязательно укажите соответствующий тип, например,

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

Убедитесь, что #include <winrt/Windows.UI.Xaml.Interop.h> определяет шаблон функции xaml_typename.

Обратите внимание, что Frame является свойством Page, доступ к которому осуществляется с помощью скобок в C ++ / WinRT.Также обратите внимание, что Navigate является нестатическим членом класса, поэтому вы не можете использовать оператор разрешения области (::).

...