WPF Boolean类型转化器收集 反转转化器

参考链接

https://stackoverflow.com/questions/534575/how-do-i-invert-booleantovisibilityconverter

Boolean转化器基类

复制代码
public class BooleanConverter<T> : IValueConverter
{
    protected BooleanConverter(T tValue, T fValue)
    {
        True = tValue;
        False = fValue;
    }

    public T True { get; set; }

    public T False { get; set; }


    public virtual object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        return value is bool flag && flag ? True : False;
    }

    public virtual object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        return value is T flag && EqualityComparer<T>.Default.Equals(flag, True);
    }
}
复制代码

BooleanToVisibilityConverter反转

比如我们有时候要false是显示,true是隐藏

[ValueConversion(typeof(bool), typeof(Visibility))]
public class BooleanToVisibilityConverter : BooleanConverter<Visibility>
{
   public BooleanToVisibilityConverter() : base(Visibility.Visible, Visibility.Collapsed) { }
}

Bool反转

比如我们有时候绑定IsEnabled,但需要反着来

[ValueConversion(typeof(bool), typeof(bool))]
public class BooleanToInverseConverter : BooleanConverter<bool>
{
    public BooleanToInverseConverter() : base(true, false) { }
}

白嫖链接

https://github.com/yinghualuowu/SakuraStyle

posted @   樱花落舞  阅读(1185)  评论(1编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2018-03-10 whl is not a supported wheel on this platform解决办法
2018-03-10 TortoiseGit安装简单介绍和使用
点击右上角即可分享
微信分享提示