2024-09-22 11:05:41 +08:00
|
|
|
|
using System;
|
|
|
|
|
|
using System.Windows.Data;
|
|
|
|
|
|
|
2025-02-10 20:53:40 +08:00
|
|
|
|
namespace WPFluent.Converters;
|
2024-09-22 11:05:41 +08:00
|
|
|
|
|
|
|
|
|
|
public class BooleanConverter<T> : IValueConverter
|
|
|
|
|
|
{
|
|
|
|
|
|
public BooleanConverter(T trueValue, T falseValue)
|
|
|
|
|
|
{
|
|
|
|
|
|
TrueValue = trueValue;
|
|
|
|
|
|
FalseValue = falseValue;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-02-10 20:53:40 +08:00
|
|
|
|
public virtual object Convert(object value, Type targetType, object parameter, CultureInfo culture) => value is bool boolValue &&
|
|
|
|
|
|
boolValue
|
|
|
|
|
|
? TrueValue
|
|
|
|
|
|
: FalseValue;
|
2024-09-22 11:05:41 +08:00
|
|
|
|
|
2025-02-10 20:53:40 +08:00
|
|
|
|
public virtual object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) => value is T tValue &&
|
|
|
|
|
|
EqualityComparer<T>.Default.Equals(tValue, TrueValue);
|
2024-09-22 11:05:41 +08:00
|
|
|
|
|
2025-02-10 20:53:40 +08:00
|
|
|
|
public T FalseValue { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public T TrueValue { get; set; }
|
2024-09-22 11:05:41 +08:00
|
|
|
|
}
|