using System; using System.ComponentModel; using System.Globalization; using System.Reflection; using System.Windows.Data; namespace Example_Ambilight_full.TakeAsIs.UI { public class EnumDescriptionConverter : IValueConverter { #region Methods public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { Enum myEnum = (Enum)value; string description = GetEnumDescription(myEnum); return description; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { return string.Empty; } private string GetEnumDescription(Enum enumObj) { FieldInfo fieldInfo = enumObj.GetType().GetField(enumObj.ToString()); object[] attribArray = fieldInfo.GetCustomAttributes(false); if (attribArray.Length == 0) return enumObj.ToString(); DescriptionAttribute attrib = attribArray[0] as DescriptionAttribute; return attrib?.Description; } #endregion } }