ValueConverters.NET

引言

该工具包提供一些常用的值转换器,如布尔值、数值、字符串、空类型、可见性、枚举值、日期等相互转换,此外还提供了ValueConverterGroup,用以串联值转换器实现最终的转换目标。

xmlns:conv="clr-namespace:ValueConverters;assembly=ValueConverters"

 简单使用

使用默认的True/Flase 转换值

<conv:BoolToVisibilityConverter x:Key="AgreementToVisiblityConvert"/>

 或指定转换值:

<conv:BoolToVisibilityConverter
        x:Key="AgreementToVisiblityConvert"
        FalseValue="Hidden"
        IsInverted="True" />

使用转换器组

实现string->可见性转换

 <conv:ValueConverterGroup x:Key="StringToVisibilityConverter">
        <conv:StringIsNotNullOrEmptyConverter />
        <conv:BoolInverter />
        <conv:BoolToVisibilityConverter />
    </conv:ValueConverterGroup>

<conv:ValueConverterGroup x:Key="StrNumInRangeToVisibilityConverter">
            <conv:StringToDecimalConverter />
            <conv:IsInRangeConverter MaxValue="19" MinValue="18" />
            <conv:BoolInverter />
            <conv:BoolToVisibilityConverter />
        </conv:ValueConverterGroup>

<conv:ValueConverterGroup x:Key="StrLenInRangeToVisibilityConverter">
            <conv:IsInRangeConverter MaxValue="15" MinValue="8" />
            <conv:BoolInverter />
            <conv:BoolToVisibilityConverter />
        </conv:ValueConverterGroup>

调试时DebugConverter 可以打印前面的转换结果到控制台,方便查看中间的结果