ConditionBinding.cs 901 B

1234567891011121314151617181920212223242526
  1. using System.Globalization;
  2. using System.Windows.Data;
  3. using System.Windows.Markup;
  4. namespace Waaagh.Converters {
  5. internal class ConditionBinding: MarkupExtension, IValueConverter {
  6. public object Target { get; set; } = true;
  7. public object True { get; set; } = true;
  8. public object False { get; set; } = false;
  9. public object Convert(object value, Type targetType, object parameter, CultureInfo culture) {
  10. if (Target == null) {
  11. return value == null ? True : False;
  12. }
  13. return Target.Equals(value) ? True : False;
  14. }
  15. public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) {
  16. throw new NotImplementedException();
  17. }
  18. public override object ProvideValue(IServiceProvider serviceProvider) {
  19. return this;
  20. }
  21. }
  22. }