总结:WPF中MultiBinding多值绑定的方法

一、Xaml中绑定代码:

  <TextBlock  Grid.Row="5" Grid.Column="3">
                                <TextBlock.Text>
                                    <MultiBinding Converter="{StaticResource MultiStringStateConverter}" ConverterParameter="49.4-59.4">
                                        <Binding Path="ZfMuscle"/>
                                        <Binding Path="ZfResult"/>
                                    </MultiBinding>

                                </TextBlock.Text>
 </TextBlock>

二、多值转换代码:

    /// <summary> 根据参考值范围确定状态 </summary>
    [ValueConversion(typeof(string), typeof(string))]
    public class MultiStringStateConverter : IMultiValueConverter
    {
        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            if (values == null) return null;

            if (values[0] == null) return null;

            if (parameter == null) return string.Empty;

            if (values.Length != 2) return null;

            if (values[1] != null && values[1].ToString() == "###") return null;

            var ps = parameter.ToString().Split('-');

            if (ps.Length != 2) return null;

            if (!ps[0].IsDouble() || !ps[1].IsDouble() || !values[0].ToString().IsDouble()) return string.Empty;

            if (values[0].ToString().ToDouble() < ps[0].ToDouble()) return "↓";

            if (values[0].ToString().ToDouble() > ps[1].ToDouble()) return "↑";

            return string.Empty;
        }

        public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
        {
            return null;
        }
    }
 

三、作用:

根据绑定的两个值去做判断,用来显示结果

  ## 更多学习官方文档
System.Windows.Controls 命名空间 | Microsoft Learn
## 更多查看官方在线源码
https://referencesource.microsoft.com/?wt.mc_id=MVP_380318 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值