InhibitToBool.cs 716 B

1234567891011121314151617181920212223242526272829303132
  1. 
  2. namespace HistoryView.Converters;
  3. public class InhibitToBool : IValueConverter
  4. {
  5. public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
  6. {
  7. if (value is not Inhibit inhibit)
  8. return false;
  9. return inhibit switch
  10. {
  11. Inhibit.Enable => true,
  12. Inhibit.Disable => false,
  13. _ => false
  14. };
  15. }
  16. public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
  17. {
  18. if (value is not bool enable)
  19. return false;
  20. return enable switch
  21. {
  22. true => Inhibit.Enable,
  23. false => Inhibit.Disable,
  24. };
  25. }
  26. }