【发布时间】:2014-08-08 14:15:40
【问题描述】:
我有一个 Windows 通用应用程序,我需要在其中创建一个通用枚举转换器。
这是我尝试创建的转换器的第一眼。
public class EnumConverter : IValueConverter
{
public object Convert(object value, System.Type targetType, object parameter, string language)
{
return System.Enum.GetName(targetType, value);
}
public object ConvertBack(object value, System.Type targetType, object parameter, string language)
{
return System.Enum.Parse(targetType, value as string, false);
}
}
但是目标类型是“System.Object”而不是 Enum 类型,因此转换失败。
我已经查看了this answer 并尝试遵循这两个选项。 Option-A 不起作用,因为 targettype 是 System.Object 而不是我的 Enum
选项-B 不起作用,因为 WinRt-Xaml 没有 x:Type 可以在转换器参数中给出。
EnumConverter from Microsoft 不可用。
如果有人能指出我正确的方向,我会很高兴。
提前致谢。
【问题讨论】:
标签: c# windows-runtime winrt-xaml windows-8.1 win-universal-app