BoolToVisibilityConverter .cs 973 B

123456789101112131415161718192021222324252627282930
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Windows;
  7. using System.Windows.Data;
  8. namespace MeterVision.Converter
  9. {
  10. public class BoolToVisibilityConverter : IValueConverter
  11. {
  12. public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
  13. {
  14. if (value is bool boolValue)
  15. {
  16. // 检查是否有反转逻辑
  17. bool isReversed = parameter is string strParam && strParam == Visibility.Hidden.ToString();
  18. return (boolValue ^ isReversed) ? Visibility.Visible : Visibility.Collapsed;
  19. }
  20. return Visibility.Collapsed;
  21. }
  22. public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
  23. {
  24. throw new NotImplementedException();
  25. }
  26. }
  27. }