| 1234567891011121314151617181920212223242526272829303132 |
- using System;
- using System.ComponentModel;
- using System.Globalization;
- using System.Windows.Data;
- namespace TeamAAS.Feeder.UI
- {
- /// <summary>
- /// 枚举值 → 其 [Description] 特性文本(无特性则用枚举名)。
- /// 库内自带副本:主程序的 TeamAAS.Converters.EnumDescriptionConverter 在 exe 程序集,硬件库无法反向引用。
- /// </summary>
- 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();
- }
- }
- }
|