BoolToRevertConverterExtension.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using System;
  2. using System.Globalization;
  3. using System.Windows.Data;
  4. using System.Windows.Markup;
  5. namespace SonopostSearchTool
  6. {
  7. [MarkupExtensionReturnType(typeof(IValueConverter))]
  8. public class BoolToRevertConverterExtension : MarkupExtension, IValueConverter
  9. {
  10. public static BoolToRevertConverterExtension Converter { get; private set; }
  11. public override object ProvideValue(IServiceProvider serviceProvider)
  12. {
  13. return Converter ?? (Converter = new BoolToRevertConverterExtension());
  14. }
  15. public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
  16. {
  17. if (value == null)
  18. {
  19. return false;
  20. }
  21. if (bool.TryParse(value.ToString(), out bool result))
  22. {
  23. return !result;
  24. }
  25. return false;
  26. }
  27. public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
  28. {
  29. throw new NotImplementedException();
  30. }
  31. }
  32. }