Как получить доступ к пространству имен Windows из компонента C ++ / WinRT? - PullRequest
0 голосов
/ 06 мая 2020

Я создал пустой проект компонента C ++ / WinRT через Visual Studio 2019.

Я добавляю эту строку в Class.cpp:

    using namespace Windows::UI::Xaml::Controls;

Выдаю мне эту ошибку:

Error   C2653   'Windows': is not a class or namespace name

Это похоже на этот вопрос , за исключением того, что этот вопрос был для C ++ / CX.

Есть идеи?

1 Ответ

1 голос
/ 07 мая 2020

Вся проекция C ++ / WinRT находится в пространстве имен winrt. Другими словами, Windows Runtime «пространство имен» 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, плохой компилятор теряется в море двусмысленности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...