0

首先,我在 Visual Studio 中使用模板“Blank App, Packaged(WinUI in Desktop)”创建了一个项目。

然后我将 MainWindow.xaml 中的代码更改为一个简单的框架:

<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.

我不知道该怎么办...

4

1 回答 1

1

最后我发现了问题所在。它与命名空间有关,当我创建一个新页面时,有三个命名空间:

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

我应该使用在 BlankPage.idl 中定义的 PROJECTNAME::BlankPage

于 2020-11-25T05:06:36.403 回答