Files
BrightSharp.Toolkit/BrightSharp/Converters/ThicknessConverter.cs

41 lines
1.4 KiB
C#
Raw Normal View History

2017-01-09 13:25:52 +03:00
using System;
using System.Globalization;
using System.Windows;
using System.Windows.Data;
namespace BrightSharp.Converters
{
internal class ThicknessConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if(value is Thickness)
{
var offset = double.Parse(parameter.ToString(), CultureInfo.InvariantCulture.NumberFormat);
var thick = (Thickness)value;
return new Thickness(Math.Max(0, thick.Left + offset),
Math.Max(0, thick.Top + offset),
Math.Max(0, thick.Right + offset),
Math.Max(0, thick.Bottom + offset));
}
else if(value is CornerRadius)
{
var offset = double.Parse(parameter.ToString(), CultureInfo.InvariantCulture.NumberFormat);
var thick = (CornerRadius)value;
return new CornerRadius(Math.Max(0, thick.TopLeft + offset),
Math.Max(0, thick.TopRight + offset),
Math.Max(0, thick.BottomRight + offset),
Math.Max(0, thick.BottomLeft + offset));
}
return value;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}