public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            BorderPresence val = (BorderPresence)value;

            string[] radiusStrings = parameter.ToString().Split(';');
            if (radiusStrings.Length == 2)
            {
                Thickness trueRadius  = Thickness.Parse(radiusStrings[0]);
                Thickness falseRadius = Thickness.Parse(radiusStrings[1]);

                double retLeft   = trueRadius.Left;
                double retTop    = trueRadius.Right;
                double retRight  = trueRadius.Right;
                double retBottom = trueRadius.Bottom;

                if (!val.Left)
                {
                    retLeft = falseRadius.Left;
                }

                if (!val.Top)
                {
                    retTop = falseRadius.Top;
                }

                if (!val.Right)
                {
                    retRight = falseRadius.Right;
                }

                if (!val.Bottom)
                {
                    retBottom = falseRadius.Bottom;
                }

                return(new Thickness(retLeft, retTop, retRight, retBottom));
            }
            throw new InvalidOperationException("Invalid parameter value.");
        }
Exemplo n.º 2
0
 public static void SetBorderPresence(DependencyObject element, BorderPresence value)
 {
     element.SetValue(BorderPresenceProperty, value);
 }