37 lines
1.2 KiB
C#
37 lines
1.2 KiB
C#
using System.Globalization;
|
|
using System.Windows.Data;
|
|
using Wpf.Ui.Appearance;
|
|
|
|
namespace Seyounth.Hyosung.UI.Helpers
|
|
{
|
|
internal class EnumToBooleanConverter : IValueConverter
|
|
{
|
|
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
if (parameter is not String enumString)
|
|
{
|
|
throw new ArgumentException("ExceptionEnumToBooleanConverterParameterMustBeAnEnumName");
|
|
}
|
|
|
|
if (!Enum.IsDefined(typeof(ApplicationTheme), value))
|
|
{
|
|
throw new ArgumentException("ExceptionEnumToBooleanConverterValueMustBeAnEnum");
|
|
}
|
|
|
|
var enumValue = Enum.Parse(typeof(ApplicationTheme), enumString);
|
|
|
|
return enumValue.Equals(value);
|
|
}
|
|
|
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
if (parameter is not String enumString)
|
|
{
|
|
throw new ArgumentException("ExceptionEnumToBooleanConverterParameterMustBeAnEnumName");
|
|
}
|
|
|
|
return Enum.Parse(typeof(ApplicationTheme), enumString);
|
|
}
|
|
}
|
|
}
|