using System.Globalization; using System.Windows.Data; namespace NeoUI.Converters; /// /// BooleanConverter 类用于在布尔值与其他类型之间进行转换。通过传递两个泛型参数实例,可以为真和假的情况分别指定不同的输出值。 /// 该类实现了 IValueConverter 接口,可以在 WPF 或其他支持数据绑定的环境中使用。 /// /// 要转换成的目标类型的泛型参数。 public class BooleanConverter(T trueValue, T falseValue) : IValueConverter { /// /// 获取或设置当布尔值为真时应返回的值。 /// 该属性用于在转换过程中,当输入值为 true 时指定所对应的输出值。 /// /// 表示此属性可以接受任何类型的值。 /// 当布尔值为真时,转换器将返回此属性指定的值。 public T TrueValue { get; set; } = trueValue; /// /// /// public T FalseValue { get; set; } = falseValue; /// public virtual object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture) => value is true ? TrueValue : FalseValue; /// public virtual object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) => value is T tValue && EqualityComparer.Default.Equals(tValue, TrueValue); }