原文:【WPF】动态设置Binding的ConverterParameter转换器参数

问题:XAML中,想要在一个Bingding语句中再次Bingding。

Source="{Binding Path=Image,Converter={StaticResource UMatToBitmapSourceConverter},ConverterParameter={Binding IsMirror}}"

运行后会报错XML解析异常:

解决办法:改为使用MultiBinding的及其转换器。

<Image.Source><MultiBinding Converter="{StaticResource UMatToBitmapSourceConverter}"><Binding Path="Image"/><Binding Path="IsMirror"/></MultiBinding>
</Image.Source>

多绑定的转换器,构造方法参数中object[] value即是多个Binding携带过来的值。用角标访问这些数据,注意向下转型的类型。

public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{bool isMirror = false;if (values[1] != null){isMirror = (bool)values[1];}try{if (values[0] is UMat){var image = values[0] as UMat;return ChangeBitmapToImageSource(image.Bitmap, isMirror); // do what you want to do here!}else{return ChangeBitmapToImageSource(values[0] as System.Drawing.Bitmap);}}catch{return DependencyProperty.UnsetValue;}
}

重要参考:

  • http://stackoverflow.com/questions/15309008/binding-converterparameter
  • http://www.cnblogs.com/yanchanggang/archive/2009/10/30/1592692.html

【WPF】动态设置Binding的ConverterParameter转换器参数相关推荐

  1. wpf 动态设置textblock的字体颜色

    动态设置textblock的字体颜色 <TextBlock HorizontalAlignment="Center" VerticalAlignment="Cent ...

  2. c# WPF 动态设置button的IsEnabled属性

    XAML: <DataGridTemplateColumn Header="类型费用模板" Width="Auto" ><DataGridTe ...

  3. Android 动态设置宽高

    Android 动态设置宽高 val params: FrameLayout.LayoutParams = view?.layoutParams as FrameLayout.LayoutParams ...

  4. 若依 vue前端 动态设置路由path不同参数 在页面容器里打开新页面(新路由),面包屑和标签页标题根据参数动态改变,面包屑多级标题,侧边栏对应菜单亮起

    前言 因为是在vue源码的基础上进行修改,所以,就没有复制代码在文章上,采取的是截图对比源码和我修改的代码片段.要麻烦你们自己手敲了. 先来看看效果: 场景:在费用配置列表中,点击每一项的配置,都会在 ...

  5. WPF中GDI+图形图像的绘制:(一)绘制文本——动态设置字体、大小、颜色

    GDI+(Graphics Device Interface Plus图形设备接口加)是.NET框架的重要组成部分,负责在屏幕和打印机上绘制图形图像和显示信息.GDI+不但在功能上比GDI 要强大很多 ...

  6. RocketMQ部署之动态设置JVM启动参数

    这里是weihubeats,觉得文章不错可以关注公众号小奏技术,文章首发.拒绝营销号,拒绝标题党 背景 线上的RocketMQ集群有运行一段时间了.比如测试环境和线上环境的RocketMQ集群部署的机 ...

  7. 解读WPF中的Binding

    1.Overview 基于MVVM实现一段绑定大伙都不陌生,Binding是wpf整个体系中最核心的对象之一这里就来解读一下我花了纯两周时间有哪些秘密.这里我先提出几个问题应该是大家感兴趣的,如下: ...

  8. 微信小程序动态设置 tabBar

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. 使用微信提供的API wx.setTabBarItem(Object object) 动态设置 tabBar ...

  9. Silverlight动态设置WCF服务Endpoint

    去年12月收到一位朋友的邮件,咨询Silverlight使用WCF服务,应用部署后一直无法访问的问题,通过几次交流,才发现在他的项目中,全部使用静态URL作为WCF服务的Endpoint地址,后来修改 ...

最新文章

  1. 详解亚马逊:物流为何是电商命脉
  2. 报名 | 大数据如何提升保险客户体验思享会
  3. 使用Moles框架实现HttpWebRequest与HttpWebResponse的单元测试
  4. 借助 CORS 从 JavaScript 使用 API 应用
  5. HDU - 7028 Decomposition 无向完全图构造欧拉回路
  6. 唐山师范学院计算机宿舍,唐山师范学院宿舍条件怎么样宿舍图片内景
  7. unity3d连接数据库
  8. python hadoop_让python在hadoop上跑起来
  9. Cocos2d—X游戏开发之VS2010 控制台输出中文,模拟器中文乱码问题解决
  10. Spark大数据-TMDB电影数据分析(spark-scala版)
  11. 最新劳动节H5营销案例合集_10个劳动节h5创意参考
  12. 【OpenGL ES】立方体贴图(6张图)
  13. 我的世界服务器指令系统,我的世界中国版最全指令 MC指令最全合集
  14. 手把手教你学习Solidity|Solidity开发【一】
  15. 企业WiFi管理 保卫我们的信息安全
  16. 超全面!如何系统学习功能图标
  17. XX集团工厂集成改造MES+SCADA数字化项目实施方案原创
  18. 如何用R画折线图,散点图,平滑曲线图
  19. python中的pandas的两种基本使用_Python:Pandas的基本操作和使用
  20. AT32(一):vscode + EIDE + Cortex Debug环境搭建

热门文章

  1. [EntLib]微软企业库5.0 学习之路——第五步、介绍EntLib.Validation模块信息、验证器的实现层级及内置的各种验证器的使用方法——上篇...
  2. JavaScript几个小技巧
  3. 针对 AlloyFinger 中 currentTarget为空的解决方案
  4. 使iPhone手机持续振动
  5. 读《大规模敏捷开发实践》
  6. 经常使用的eclipse插件
  7. 技术感悟---主动学习
  8. 双重惊喜——Windows Phone Developer Tools初体验
  9. Scrum立会报告+燃尽图(十一月十五日总第二十三次):代码规范与技术交流
  10. 转 Hystrix入门指南 Introduction