using System; using System.Globalization; using System.Windows; namespace ZeroLevel.WPF { public sealed class BoolToVisibilityConverter : BaseConvertor { public Visibility TrueValue { get; set; } public Visibility FalseValue { get; set; } public BoolToVisibilityConverter() { TrueValue = Visibility.Visible; FalseValue = Visibility.Collapsed; } public override object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (!(value is bool)) return null; return (bool)value ? TrueValue : FalseValue; } public override object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { if (Equals(value, TrueValue)) return true; if (Equals(value, FalseValue)) return false; return null; } } }