问题描述
我正在尝试Visual Studio中可用的C ++ / WinRT和WinUI模板。我对命名空间::winrt::Microsoft
和::winrt::Windows
感到困惑。我只知道前一种,因为自动生成的回调函数使用了::winrt::Microsoft
中的类型,并且由于我错误地从::winrt::Windows
命名空间中传递了相同名称的类型而无法编译。我找不到有关::winrt::Microsoft
的更多信息,甚至找不到官方文档。
据我所知,::winrt::Microsoft
和::winrt::Windows
的命名类型大致相同,但是::winrt::Microsoft
中缺少某些类型。例如,::winrt::Windows::UI::Colors
和::winrt::Microsoft::UI::Colors
都存在,但是::winrt::Windows::UI::Color
在Microsoft名称空间中没有“替代”。
问题:
解决方法
Windows
是原始名称空间,所有与UI相关的类型都驻留在其中。其中的一些类型是将WinUI从仅受UWP困扰的状态中“重塑”到Microsoft
命名空间中的。
如果(新的)Microsoft
名称空间中有可用的类型,请使用该类型。过渡尚未完成,因此缺少某些类型。