问题: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;
}
}

重要参考:

【WPF】动态设置Binding的ConverterParameter转换器参数的更多相关文章

  1. asp.net动态设置button的Text,Enabled属性,向后台传递参数

    前台代码:根据后台传递过来的参数动态设置 <asp:Button ID="Button1" runat="server" CommandArgument= ...

  2. Mybatis 插件实现动态设置参数

    原文地址:Mybatis 插件实现动态设置参数 博客地址:http://www.extlight.com 一.背景 笔者在搭建架构时,通常会利用泛型对 dao 层 和 service 层公共的代码(增 ...

  3. gridcontrol如何根据值来动态设置某一行的颜色

    应用场景:当我们使用devexpress gridcontrol wpf控件时.可要会要根据这一行要显示的值来设置相应的颜色 可以通过下面方法来实现 一.先定义一个style <local:Co ...

  4. WPF 动态模拟CPU 使用率曲线图

    原文:WPF 动态模拟CPU 使用率曲线图      在工作中经常会遇到需要将一组数据绘制成曲线图的情况,最简单的方法是将数据导入Excel,然后使用绘图功能手动生成曲线图.但是如果基础数据频繁更改, ...

  5. WPF 动态列(DataGridTemplateColumn) 绑定数据 (自定义控件)

    原文:WPF 动态列(DataGridTemplateColumn) 绑定数据 (自定义控件) 因为项目需要 要实现这个~ 怎么实现画红框内容部分 田字格和上面Textbox 属于一个自定义控件  大 ...

  6. WPF 动态添加控件以及样式字典的引用(Style introduction)

    原文:WPF 动态添加控件以及样式字典的引用(Style introduction) 我们想要达到的结果是,绑定多个Checkbox然后我们还可以获取它是否被选中,其实很简单,我们只要找到那几个关键的 ...

  7. 解读WPF中的Binding

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

  8. android ImageView网络图片加载、动态设置尺寸、圆角..

    封装了一个关于ImageView的辅助类,该类可以方便实现网络图片下载的同时,动态设置图片尺寸.圆角.....一系列连贯的操作,无样式表,java代码实现所有功能,使用很方便. package com ...

  9. Android 通过Java代码生成创建界面。动态生成View,动态设置View属性。addRules详解

    废话不多说,本文将会层层深入给大家讲解如何动态的生成一个完整的界面. 本文内容: Java代码中动态生成View Java代码中动态设置View的位置,以及其他的属性 LayoutParams详解 一 ...

随机推荐

  1. VC++程序员如何做好界面

    本屌丝在新春放假期间闲来无事,在各大编程论坛溜达了一圈.发现年前的帖子中,有VC++程序员在界面开发方面遇到了很多苦恼,有抱怨界面工作不好做的,有抱怨用错了界面库的,也有紧急求得技术问题帮助的.看到这 ...

  2. 那些遇到的position-fixed无效事件

    本篇文章由:http://xinpure.com/position-fixed-encountered-an-invalid-event/ 第一次无效事件 事件主角: transform 应用环境: ...

  3. SPFA 上手题 数 枚:

    1, HDU 1548 A strange lift :http://acm.hdu.edu.cn/showproblem.php?pid=1548 这道题可以灰常巧妙的转换为一道最短路题目,对第i层 ...

  4. C#取得页面URL信息

    我們在開發網頁應用程式,時常需要去解析網址(Request.Url)的每個片段,進行一些判斷.例如說 "http://localhost:1897/News/Press/Content.as ...

  5. Linux命令-服务管理命令:chkconfig

    chkconfig --list 查看服务自启动状态列表,等同于查看服务列表 设置某一个服务为自启动服务: chkconfig 服务名 on 修改服务的启动级别为3,,5 查看某一个服务时候已经运行了 ...

  6. 像素(px)到底是个什么单位

    px,对于许多网页设计者来说,是最常用的CSS长度单位.然而,1px到底多长,恐怕没有多少人回答得上来. CSS长度本身有绝对长度和相对长度的区分. cm.pt之类的都是绝对长度,它们是物理长度——1 ...

  7. Android 中 values/strings.xml 取值

    <string name="smsphone_init">15898146863</string> //取值 String strSmsPhone=getR ...

  8. Form_Form Builder的基本语法(概念)

    2014-05-21 Created By BaoXinjian

  9. linux下core dump

    1.前言 一直在从事linux下后台开发,经常与core文件打交道.还记得刚开始从事linux下开发时,程序突然崩溃了,也没有任何日志.我不知所措,同事叫我看看core,我却问什么是core,怎么看. ...

  10. python标准库介绍——24 traceback 模块详解

    ==traceback 模块== [Example 2-18 #eg-2-18] 展示了 ``traceback`` 模块允许你在程序里打印异常的跟踪返回 (Traceback)信息, 类似未捕获异常 ...