Как перейти на новую страницу с помощью WinUI3 с настольным приложением на C++?

Сначала я создаю проект, используя шаблон "Пустое приложение, упакованное (WinUI на рабочем столе)" в Visual Studio.

Затем я изменил код в MainWindow.xaml на простой Frame:

<Frame x:Name="rootFrame"></Frame>

Затем я добавляю BlankPage и пытаюсь перейти к BlankPage следующим образом:

rootFrame().Navigate(xaml_typename<BlankPage>());

И тогда визуальная студия выдает мне ошибку:

winrt\Windows.UI.Xaml.Interop.h(643,29): error C2338: T must be WinRT type.

Я не умею делать...

1 ответ

Решение

Наконец я нашел в чем дело. Это связано с пространством имен, когда я создаю новую страницу, есть три пространства имен:

winrt::PROJECTNAME::implementation::BlankPage
winrt::PROJECTNAME::factory_implementation::BlankPage
PROJECTNAME::BlankPage

Я должен использовать PROJECTNAME::BlankPage, определенный в BlankPage.idl

Другие вопросы по тегам