/// <summary> /// Converts a Thickness to a new Thickness. It's possible to ignore a side /// with the IgnoreThicknessSide property. /// </summary> /// <param name = "value"></param> /// <param name = "targetType"></param> /// <param name = "parameter"></param> /// <param name = "culture"></param> /// <returns>The converted object.</returns> public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value is Thickness) { // yes, we can override it with the parameter value if (parameter is IgnoreThicknessSideType) { this.IgnoreThicknessSide = (IgnoreThicknessSideType)parameter; } var orgThickness = (Thickness)value; switch (this.IgnoreThicknessSide) { case IgnoreThicknessSideType.Left: return(new Thickness(0, orgThickness.Top, orgThickness.Right, orgThickness.Bottom)); case IgnoreThicknessSideType.Top: return(new Thickness(orgThickness.Left, 0, orgThickness.Right, orgThickness.Bottom)); case IgnoreThicknessSideType.Right: return(new Thickness(orgThickness.Left, orgThickness.Top, 0, orgThickness.Bottom)); case IgnoreThicknessSideType.Bottom: return(new Thickness(orgThickness.Left, orgThickness.Top, orgThickness.Right, 0)); default: return(orgThickness); } } return(default(Thickness)); }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value is Thickness) { if (parameter is IgnoreThicknessSideType) { this.IgnoreThicknessSide = (IgnoreThicknessSideType)parameter; } var orgThickness = (Thickness)value; switch (this.IgnoreThicknessSide) { case IgnoreThicknessSideType.Left: return new Thickness(0, orgThickness.Top, orgThickness.Right, orgThickness.Bottom); case IgnoreThicknessSideType.Top: return new Thickness(orgThickness.Left, 0, orgThickness.Right, orgThickness.Bottom); case IgnoreThicknessSideType.Right: return new Thickness(orgThickness.Left, orgThickness.Top, 0, orgThickness.Bottom); case IgnoreThicknessSideType.Bottom: return new Thickness(orgThickness.Left, orgThickness.Top, orgThickness.Right, 0); default: return orgThickness; } } return default(Thickness); }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (!(value is Thickness)) { return(new Thickness()); } if (parameter as IgnoreThicknessSideType != IgnoreThicknessSideType.None) { this.IgnoreThicknessSide = (IgnoreThicknessSideType)parameter; } Thickness thickness = (Thickness)value; switch (this.IgnoreThicknessSide) { case IgnoreThicknessSideType.Left: { return(new Thickness(0, thickness.Top, thickness.Right, thickness.Bottom)); } case IgnoreThicknessSideType.Top: { return(new Thickness(thickness.Left, 0, thickness.Right, thickness.Bottom)); } case IgnoreThicknessSideType.Right: { return(new Thickness(thickness.Left, thickness.Top, 0, thickness.Bottom)); } case IgnoreThicknessSideType.Bottom: { return(new Thickness(thickness.Left, thickness.Top, thickness.Right, 0)); } default: { return(thickness); } } }