枚举属性上的类型转换器

本文关键字:类型转换 转换器 类型 属性 枚举 | 更新日期: 2023-09-27 18:19:34

我有Typeconverter用于Enum:

 public class MyEnumConverter: TypeConverter
    {
        public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, Object value, Type destinationType)
        {
            //DO SOMETHING
        }
        public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
        {
            //DO SOMETHING
        }
    }

如果我把它放在枚举的属性上,它就不起作用。

        private MY_ENUM _myProp;
        [TypeConverter(typeof(MyEnumConverter))]
        public MY_ENUM MyProp
        {
            get { return _myProp; }
            set
            {
                if (_myProp != value)
                {
                    _myProp= value;
                    NotifyPropertyChanged("MyProp");
                }
            }
        }

是否可以将Typeconverter放在Enum本身之上?

如果我希望Converter只在Enum的特定实例上工作,该怎么办

枚举属性上的类型转换器

在您的情况下,您应该实现IValueConverter并在该特定属性的绑定表达式中使用它。