如何创建XAML转换器以将任何枚举类转换为C ++ / WinRT中的int32_t?

时间:2019-03-13 22:24:28

标签: c++-winrt

我在C ++ / WinRT应用程序中使用以下简单的XAML转换器:

enum class filtering_method : int32_t
{
    point = 0,
    linear_interpolation = 1,
};        

Windows::Foundation::IInspectable enum_to_int::Convert(Windows::Foundation::IInspectable const& value, Windows::UI::Xaml::Interop::TypeName const& targetType, Windows::Foundation::IInspectable const& parameter, hstring const& language)
{
        filtering_method old_value = unbox_value<filtering_method>(value);
        int32_t new_value = static_cast<int32_t>(old_value);
        return box_value(new_value);
}

我想使此转换器与任何enum class枚举类一起使用,而不是与任何filtering_method枚举类一起使用。

还要注意,实际上这些枚举是从.idl文件生成的,因此它们是WinRT类型。

我该怎么做?

0 个答案:

没有答案