如何从 C++/WinRT 组件访问 Windows 命名空间?
How to access Windows namespace from C++/WinRT component?
我通过 Visual Studio 2019 创建了一个空白的 C++/WinRT 组件项目。
我将这一行添加到 Class.cpp
:
using namespace Windows::UI::Xaml::Controls;
给我这个错误:
Error C2653 'Windows': is not a class or namespace name
这类似于 this question,只是问题是针对 C++/CX 的。
有什么想法吗?
整个 C++/WinRT 投影都位于 winrt
命名空间中。换句话说,Windows 运行时 'namespace' Windows.UI.Xaml.Controls
被投射到 winrt::Windows::UI::Xaml::Controls
.
要访问该命名空间,请使用
using namespace winrt::Windows::UI::Xaml::Controls;
或者先将winrt
命名空间合并到全局命名空间中:
using namespace winrt;
using namespace Windows::UI::Xaml::Controls;
一旦您继续将 WinUI 合并到您的应用程序中,任何一个都会让您非常头疼。由于在 winrt::Windows::UI::Xaml::Controls
和 winrt::Microsoft::UI::Xaml::Controls
命名空间下都出现了具有相同名称的类型,可怜的编译器迷失在歧义的海洋中。
我通过 Visual Studio 2019 创建了一个空白的 C++/WinRT 组件项目。
我将这一行添加到 Class.cpp
:
using namespace Windows::UI::Xaml::Controls;
给我这个错误:
Error C2653 'Windows': is not a class or namespace name
这类似于 this question,只是问题是针对 C++/CX 的。
有什么想法吗?
整个 C++/WinRT 投影都位于 winrt
命名空间中。换句话说,Windows 运行时 'namespace' Windows.UI.Xaml.Controls
被投射到 winrt::Windows::UI::Xaml::Controls
.
要访问该命名空间,请使用
using namespace winrt::Windows::UI::Xaml::Controls;
或者先将winrt
命名空间合并到全局命名空间中:
using namespace winrt;
using namespace Windows::UI::Xaml::Controls;
一旦您继续将 WinUI 合并到您的应用程序中,任何一个都会让您非常头疼。由于在 winrt::Windows::UI::Xaml::Controls
和 winrt::Microsoft::UI::Xaml::Controls
命名空间下都出现了具有相同名称的类型,可怜的编译器迷失在歧义的海洋中。