4 using System.Globalization;
5 using System.Windows.Data;
7 namespace SiliconStudio.Presentation.ValueConverters
12 public abstract class CompareNum<T> : OneWayValueConverter<T> where T : class,
IValueConverter, new()
15 public override object Convert(
object value, Type targetType,
object parameter, CultureInfo culture)
17 var doubleValue = (double)System.Convert.ChangeType(value, typeof(
double));
18 var doubleParameter = (double)System.Convert.ChangeType(parameter, typeof(
double));
19 var result = Compare(doubleValue, doubleParameter);
20 return System.Convert.ChangeType(result, value.GetType());
23 protected abstract bool Compare(
double left,
double right);
31 protected override bool Compare(
double left,
double right)
40 public class IsLower : CompareNum<IsLower>
42 protected override bool Compare(
double left,
double right)
53 protected override bool Compare(
double left,
double right)
64 protected override bool Compare(
double left,
double right)
73 public class IsEqual : CompareNum<IsEqual>
75 protected override bool Compare(
double left,
double right)
77 return Math.Abs(left - right) <=
double.Epsilon;
86 protected override bool Compare(
double left,
double right)
88 return Math.Abs(left - right) >
double.Epsilon;
This converter will return true if the numeric value is lower than or equal to the numeric parameter...
This converter will return true if the numeric value is lower than the numeric parameter.
override bool Compare(double left, double right)
override bool Compare(double left, double right)
This converter will return true if the numeric value is greater than the numeric parameter.
This converter will return true if the numeric value is different from the numeric parameter...
This converter will return true if the numeric value is equal to the numeric parameter.
override bool Compare(double left, double right)
override bool Compare(double left, double right)
override object Convert(object value, Type targetType, object parameter, CultureInfo culture)
override bool Compare(double left, double right)
This converter will return true if the numeric value is greater than or equal to the numeric paramete...
override bool Compare(double left, double right)