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."); }
public static void SetBorderPresence(DependencyObject element, BorderPresence value) { element.SetValue(BorderPresenceProperty, value); }