using System; using System.Globalization; using System.Windows.Data; using System.Windows.Media; namespace DebtMgr.Converters { //////////////////////////////////////////////////////////////////////////////////////////////////// /// An amount to color converter. /// /// Andre Beging, 10.09.2017. //////////////////////////////////////////////////////////////////////////////////////////////////// public class AmountToColorConverter : IValueConverter { //////////////////////////////////////////////////////////////////////////////////////////////////// /// Converts. /// /// Andre Beging, 10.09.2017. /// /// The value. /// Type of the target. /// The parameter. /// The culture. /// /// An object. //////////////////////////////////////////////////////////////////////////////////////////////////// public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { var defaultReturnValue = new SolidColorBrush(Colors.Black); if (value == null) return defaultReturnValue; double doubleValue = 0.0; if (value is double) { doubleValue = (double)value; } else if(value is string) { if (string.IsNullOrWhiteSpace(value.ToString())) return defaultReturnValue; doubleValue = Double.Parse(value.ToString()); } if (doubleValue < 0.001 && doubleValue > -0.001) return new SolidColorBrush(Colors.Green); if(doubleValue > 0) return new SolidColorBrush(Colors.Green); if (doubleValue < 0) return new SolidColorBrush(Colors.Red); return defaultReturnValue; } //////////////////////////////////////////////////////////////////////////////////////////////////// /// Convert back. /// /// Andre Beging, 10.09.2017. /// /// The value. /// Type of the target. /// The parameter. /// The culture. /// /// The back converted. //////////////////////////////////////////////////////////////////////////////////////////////////// public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } }