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>

最新文章

  1. mako模板调试与使用技巧
  2. [3D数学基础:图形与游戏开发]专栏前言
  3. debian下NTFS分区无法访问解决
  4. LA 4255 UVa1423 拓扑排序
  5. 利用linux漏洞进行提权
  6. try-catch-finally 引发的奇怪问题
  7. Unity 3D 粒子系统的一点经验
  8. windows8.1 plsql连接oracle
  9. C# String.Format大全 去 decimal 后面的 0
  10. sublime3 注册码
  11. Gson源码分析之Json结构抽象和注解使用
  12. COB(Chip On Board)的製程簡單介紹
  13. IOS8 设置TableView Separatorinset 分割线从边框顶端开始
  14. fio2.1.10--README
  15. destruct析构函数里操作文件出现的问题
  16. 【QT】qt python install pip
  17. 查找文献的BibTex
  18. CSS【04】:CSS组合选择器
  19. python中的print()、str()和repr()的区别
  20. ideal通过svn上传项目和激活方式

热门文章

  1. Windows上使用Python2.7安装pip
  2. Google 开发console查找元素或方法
  3. Java学习之 多态 Polymorphism
  4. MAC下Jetbrains编译器无法打开问题解决
  5. springcloud &lt;zuul2.0静态配置&gt;
  6. SQL查询数据库名、表名、列名
  7. Android kotlin http url request
  8. 小程序 读取照片 EXIF 元信息
  9. 假期作业03:使用IDE开发你的Java程序
  10. 手把手教你在 SuperEdge 上用 EdgeX Foundry 接入 IoT 设备