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