码迷,mamicode.com
首页 > 其他好文 > 详细

06.Binding(绑定)03

时间:2020-06-19 13:54:29      阅读:49      评论:0      收藏:0      [点我收藏+]

标签:exce   path   oct   属性   object   short   cts   lock   return   

MultiBinding(多路Binding)

当UI中的显示信息是由源Source中的多个数据来决定时,使用MultiBinding。他和Binding的区别是需要传递多个元数据,针对多个数据源需要使用一个转换机制类决定目标的属性。

技术图片

转换器代码:

public class ScanTimeConverter : IMultiValueConverter
{
    public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
    {
        string result = string.Empty;

        if (values == null) return result;
        string strValue = values.ToString();
        if (!string.IsNullOrEmpty(strValue) && !strValue.Equals("NaN") && values.Length == 4)
        {
            try
            {
                ushort RepeatNum = System.Convert.ToUInt16(values[0]);
                ushort FrameNum = System.Convert.ToUInt16(values[1]);
                ushort LineNum = System.Convert.ToUInt16(values[2]);
                ushort Frequency = System.Convert.ToUInt16(values[3]);

                if (Frequency != 0)
                    result = (RepeatNum * FrameNum * LineNum * 1.0 / Frequency).ToString("F2");//单位:ms
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
        return result;
    }

    public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

xaml代码:

<TextBlock Margin="0,0,5,0" Style="{StaticResource TextBlockDefault}">
    <TextBlock.Text>
        <MultiBinding Converter="{StaticResource ScanTimeConverter}">
            <Binding Path="OCTScanParam.RepeatNum" />
            <Binding Path="OCTScanParam.FrameNum" />
            <Binding Path="OCTScanParam.LineNum" />
            <Binding Path="OCTScanParam.Frequency" />
        </MultiBinding>
    </TextBlock.Text>
</TextBlock>

06.Binding(绑定)03

标签:exce   path   oct   属性   object   short   cts   lock   return   

原文地址:https://www.cnblogs.com/vigorous/p/13162320.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!