Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }