首页 > Windows开发 > 详细

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

时间:2019-12-20 16:01:49      阅读:94      评论:0      收藏:0      [点我收藏+]
原文:总结: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;
        }
    }
 

三、作用:

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

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

原文:https://www.cnblogs.com/lonelyxmas/p/12073366.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!