博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【WPF】动态设置Binding的ConverterParameter转换器参数
阅读量:7208 次
发布时间:2019-06-29

本文共 914 字,大约阅读时间需要 3 分钟。

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

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

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

这里写图片描述

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

多绑定的转换器,构造方法参数中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;    }}

重要参考:

你可能感兴趣的文章
本地代码git到github上
查看>>
《JAVA NIO》第一章 简介
查看>>
有继承关系的对象执行顺序,包括静态变量,静态代码块,普通变量,普通代码块,继承方法....
查看>>
使用ownCloud在Linux安装你的个人云服务
查看>>
关键字&关键字工具&网页分析
查看>>
兼容 yu 比较
查看>>
CodeForces 939E Maximize
查看>>
[Linux] 服务器镜像定时备份解决方案 crontab+rsync+flock
查看>>
SFTP
查看>>
在线服务的黑天鹅(转)
查看>>
SLF4J warning or error messages and their meanings(转)
查看>>
为什么生产环境运行系统?
查看>>
MySQL使用总结(持续更新中 …)
查看>>
拨打电话
查看>>
Linux下安装mysql
查看>>
排序算法(2)—选择排序
查看>>
C++(实验六)
查看>>
EBS后台取消死锁检查代码和取消死锁会话步骤---经验
查看>>
[置顶] Gridview中弹出层前台取值避免了刷新,easyui+Jquery
查看>>
Oracle BIEE11G --- ADF_IFRAME
查看>>