mirror of
https://github.com/DarthAffe/CUE.NET.git
synced 2025-12-12 08:48:30 +00:00
40 lines
1.1 KiB
C#
40 lines
1.1 KiB
C#
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
|
|
}
|
|
}
|