没有重载函数winrt :: Windows :: UI :: Xaml :: Controls :: Primitives :: SelectorItem :: Content的实例与参数列表匹配

问题描述

在C ++ / CX中,我能够做到:

Windows::UI::Xaml::Controls::Primitives::SelectorItem item;
const wchar_t* str = L"someString";
item->Content = str;

但是,当我在C ++ / WinRT中执行等效操作时,

winrt::Windows::UI::Xaml::Controls::Primitives::SelectorItem item;
const wchar_t* str = L"someString";
item.Content(str);

我得到一个错误

没有重载函数的实例 winrt :: Windows :: UI :: Xaml :: Controls :: Primitives :: SelectorItem :: Content 匹配参数列表。

我想念什么?

解决方法

Content函数期望的类型为IInspectable,但wchar_t并非如此。如果传递“原语”,则需要将它们装箱。以下作品:

winrt::Windows::UI::Xaml::Controls::Primitives::SelectorItem item;
const wchar_t* str = L"someString";
item.Content(box_value(str));