using System.Globalization; using System.Windows; using System.Windows.Data; namespace AIStudio.Wpf.DiagramDesigner { public class DoubleToCornerRadius : IValueConverter { public object Convert(object value, System.Type targetType, object parameter, CultureInfo culture) { if (value != null) { if (parameter != null) { switch (parameter.ToString()) { case "TopLeft": return new CornerRadius(System.Convert.ToDouble(value), 0, 0, 0); case "TopRight": return new CornerRadius(0, System.Convert.ToDouble(value), 0, 0); case "BottomRight": return new CornerRadius(0, 0, System.Convert.ToDouble(value), 0); case "ButtomLeft": return new CornerRadius(0, 0, 0, System.Convert.ToDouble(value)); default: return new CornerRadius(System.Convert.ToDouble(value)); } } return new CornerRadius(System.Convert.ToDouble(value)); } return new CornerRadius(0); } public object ConvertBack(object value, System.Type targetType, object parameter, CultureInfo culture) { if (value != null) { if (parameter != null) { switch (parameter.ToString()) { case "TopLeft": return ((CornerRadius)value).TopLeft; case "TopRight": return ((CornerRadius)value).TopRight; case "BottomRight": return ((CornerRadius)value).BottomRight; case "BottomLeft": return ((CornerRadius)value).BottomLeft; default: return ((CornerRadius)value).TopLeft; } } return ((CornerRadius)value).TopLeft; } return 0.0; } } }