using System.Globalization; using System.Windows.Data; using System.Windows.Markup; namespace Waaagh.Converters { internal class ConditionBinding: MarkupExtension, IValueConverter { public object Target { get; set; } = true; public object True { get; set; } = true; public object False { get; set; } = false; public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (Target == null) { return value == null ? True : False; } return Target.Equals(value) ? True : False; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } public override object ProvideValue(IServiceProvider serviceProvider) { return this; } } }