当为ComboBoxItem提供IInspectable作为内容时,您应该能够使用ToString()函数提供显示字符串。但是这个函数永远不会被调用,显示的只是一个空白框。
自定义IInspectable:
class ComboboxItem : public winrt::implements<ComboboxItem, winrt::Windows::Foundation::IInspectable>
{
public:
ComboboxItem() : m_text(L"Hello") {}
hstring Text() { return m_text; }
void Text(hstring const& value) { m_text = value; }
winrt::Windows::Foundation::IInspectable Value() { return m_value; }
void Value(winrt::Windows::Foundation::IInspectable const& value) { m_value = value; }
hstring ToString() cons { return m_text; } // This is never called
private:
hstring m_text;
winrt::Windows::Foundation::IInspectable m_value;
};
添加到ComboBox:
comboxBox.Items().Append(winrt::make<ComboboxItem>());
让字符串在ComboBox中显示缺少的“特殊酱料”是什么?
1条答案
按热度按时间axr492tv1#
我用C#实现,因为这是我能让它工作的唯一方法。
XAML:
和
完成C++部分。
XAML:
和