using System; using System.ComponentModel; using System.Globalization; using System.Windows.Data; namespace TeamAAS.Feeder.UI { /// /// 枚举值 → 其 [Description] 特性文本(无特性则用枚举名)。 /// 库内自带副本:主程序的 TeamAAS.Converters.EnumDescriptionConverter 在 exe 程序集,硬件库无法反向引用。 /// public class EnumDescriptionConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value == null) return string.Empty; var type = value.GetType(); var name = Enum.GetName(type, value); if (name == null) return value.ToString(); var fi = type.GetField(name); var attr = fi != null ? (DescriptionAttribute)Attribute.GetCustomAttribute(fi, typeof(DescriptionAttribute)) : null; return attr != null ? attr.Description : name; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotSupportedException(); } } }