更新
This commit is contained in:
27
ShrlAlgoToolkit.Mvvm/Converters/BooleanConverter.cs
Normal file
27
ShrlAlgoToolkit.Mvvm/Converters/BooleanConverter.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace ShrlAlgoToolkit.Mvvm.Converters;
|
||||
|
||||
public class BooleanConverter<T> : 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<T>.Default.Equals(tValue, TrueValue);
|
||||
|
||||
public T FalseValue { get; set; }
|
||||
|
||||
public T TrueValue { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user