39 lines
1.1 KiB
C#
39 lines
1.1 KiB
C#
using System;
|
|
using System.Globalization;
|
|
using System.Windows.Data;
|
|
|
|
namespace ClassicAssist.UI.Misc.ValueConverters
|
|
{
|
|
public class EnumMatchToBooleanConverter : IValueConverter
|
|
{
|
|
public object Convert( object value, Type targetType, object parameter, CultureInfo culture )
|
|
{
|
|
if ( value == null || parameter == null )
|
|
{
|
|
return false;
|
|
}
|
|
|
|
string checkValue = value.ToString();
|
|
string targetValue = parameter.ToString();
|
|
return checkValue.Equals( targetValue, StringComparison.InvariantCultureIgnoreCase );
|
|
}
|
|
|
|
public object ConvertBack( object value, Type targetType, object parameter, CultureInfo culture )
|
|
{
|
|
if ( value == null || parameter == null )
|
|
{
|
|
return null;
|
|
}
|
|
|
|
bool useValue = (bool) value;
|
|
string targetValue = parameter.ToString();
|
|
|
|
if ( useValue )
|
|
{
|
|
return Enum.Parse( targetType, targetValue );
|
|
}
|
|
|
|
return null;
|
|
}
|
|
}
|
|
} |