namespace GDNXFD.Alert.Config.Converters { using System; using System.Windows; using System.Windows.Data; /// /// enum to bool converter /// public class EnumToBooleanConverter : IValueConverter { /// /// Convert a travel type to bool. /// /// /// /// /// /// public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (value != null) { string parameterString = parameter as string; if (parameterString == null) return DependencyProperty.UnsetValue; if (Enum.IsDefined(value.GetType(), value) == false) return DependencyProperty.UnsetValue; object parameterValue = Enum.Parse(value.GetType(), parameterString); return parameterValue.Equals(value); } return null; } /// /// Convert back /// /// /// /// /// /// public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (value != null && (bool)value) { string parameterString = parameter as string; if (!string.IsNullOrEmpty(parameterString)) return Enum.Parse(targetType, parameterString); } return DependencyProperty.UnsetValue; } } }