public override object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if ((value == null) || (!(value is Enum)) || (parameter == null)) { return(Binding.DoNothing); } bool bRet = false; string paramString = parameter.ToString(); bool invert = ConverterAssists.CheckForCharAndRemove('!', ref paramString); var enums = ConverterAssists.ParseStringToEnum(value.GetType(), paramString); foreach (Enum paramValue in enums) { if (value.Equals(paramValue)) { bRet = true; } } if (invert) { bRet = !bRet; } return(bRet); }
public override object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { bool boolValue = (bool)value; string paramString = parameter.ToString(); if (ConverterAssists.CheckForCharAndRemove('!', ref paramString)) { boolValue = !boolValue; } return(boolValue ? paramString : Binding.DoNothing); }
public override object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if ((value == null) || (!(value is Enum)) || (parameter == null)) { return(Binding.DoNothing); } Visibility eRet = Visibility.Collapsed; string paramsParsed = parameter.ToString(); bool invert = ConverterAssists.CheckForCharAndRemove('!', ref paramsParsed); if (ConverterAssists.CheckForCharAndRemove('#', ref paramsParsed)) { eRet = Visibility.Hidden; } var enums = ConverterAssists.ParseStringToEnum(value.GetType(), paramsParsed); foreach (Enum paramValue in enums) { if (value.Equals(paramValue)) { eRet = Visibility.Visible; } } if (invert) { if (eRet == Visibility.Visible) { eRet = Visibility.Collapsed; } else if (eRet == Visibility.Collapsed) { eRet = Visibility.Visible; } } return(eRet); }