BoolToVisibility.cs 636 B

1234567891011121314151617181920212223242526
  1. namespace HistoryView.Converters;
  2. internal class BoolToVisibility : IValueConverter
  3. {
  4. public object Convert(object? value, Type targetType, object parameter, CultureInfo culture)
  5. {
  6. if (value is not bool b)
  7. return Visibility.Visible;
  8. if (parameter is string s && s.Equals("Reverse"))
  9. b = !b;
  10. return b switch
  11. {
  12. true => Visibility.Visible,
  13. _ => Visibility.Collapsed
  14. };
  15. }
  16. public object? ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
  17. {
  18. throw new NotImplementedException();
  19. }
  20. }