问题描述
在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));