using System.Globalization; using System.Windows.Data; namespace ShrlAlgoToolkit.RevitAddins.Converters; public class BooleanConverter : IValueConverter { public BooleanConverter(T trueValue, T falseValue) { TrueValue = trueValue; FalseValue = falseValue; } public virtual object Convert(object value, Type targetType, object parameter, CultureInfo culture) => value is bool boolValue && boolValue ? TrueValue : FalseValue; public virtual object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) => value is T tValue && EqualityComparer.Default.Equals(tValue, TrueValue); public T FalseValue { get; set; } public T TrueValue { get; set; } }