wpf converter converterparameter 绑定多参数
1. converterparameter不是依赖属性,所以不能用binding。
2. 可以把converter 的接口 IValueConverter改为 IMultiValueConverter,实现多个 MultiBinding
3. IMultiValueConverter代码,例如:
- public class MultiBoolToColorConverter : IMultiValueConverter
- {
- public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
- {
- var color = System.Windows.Media.Color.FromRgb(0x31, 0x89, 0xC6);// "#3189c6";
- if (values.All(v => (v is bool && (bool)v)) || values.All(v => (v is bool && (bool)v==false)))
- {
- color = System.Windows.Media.Color.FromRgb(0x89, 0xBB, 0xE0);//"#89BBE0";
- }
- return new System.Windows.Media.SolidColorBrush(color);
- }
- public object[] ConvertBack( object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
- {
- throw new NotSupportedException();
- }
- }
4.xmal文件写法,例如:
- <UserControl.Resources>
- <cv:MultiBoolToColorConverter x:Key="mutiBoolConverter"/>
- </UserControl.Resources>
- <Style TargetType="FrameworkElement">
- <Setter Property="Visibility">
- <Setter.Value>
- <MultiBinding Converter="{StaticResource AccessLevelToVisibilityConverter}">
- <Binding Path="Tag" RelativeSource="{RelativeSource Mode=FindAncestor,
- AncestorType=UserControl}"/>
- <Binding Path="Tag" RelativeSource="{RelativeSource Mode=Self}"/>
- </MultiBinding>
- </Setter.Value>
- </Setter>
- </Style>
OR
- <Button Content="Test">
- <Button.Background>
- <MultiBinding Converter="{StaticResource mutiBoolConverter}">
- <Binding Path="IsEnableCredentialsAdded"/>
- <Binding Path="IsOld"/>
- </MultiBinding>
- </Button.Background>
- </Button>
wpf converter converterparameter 绑定多参数的更多相关文章
- WPF converter(包含传递复杂参数)
单值转换器 将单一值转换为特定类型的值,以日期转换为例如下: 1.定制DateConverter类,其中当值从绑定源传播给绑定目标时,调用方法Convert. 1 public class DateC ...
- WPF converter
单值转换器 将单一值转换为特定类型的值,以日期转换为例如下: 1.定制DateConverter类,其中当值从绑定源传播给绑定目标时,调用方法Convert. 1 public class DateC ...
- WPF UserControl 的绑定事件、属性、附加属性
原文:WPF UserControl 的绑定事件.属性.附加属性 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Vblegend_2013/arti ...
- mybatis order by绑定的参数
<select id = "queryByStartWithOrder" resultType="org.seckill.entity.SuccessKilled& ...
- WPF数据双向绑定
设置双向绑定,首先控件要绑定的对象要先继承一个接口: INotifyPropertyChanged 然后对应被绑定的属性增加代码如下: 意思就是当Age这个属性变化时,要通知监听它变化的人. 即:Pr ...
- 使用@RequestParam绑定请求参数到方法参数
@RequestParam注解用于在控制器中绑定请求参数到方法参数.用法如下:@RequestMapping public void advancedSearch( @RequestParam(& ...
- ASP.NET MVC中默认Model Binder绑定Action参数为List、Dictionary等集合的实例
在实际的ASP.NET mvc项目开发中,有时会遇到一个参数是一个List.Dictionary等集合类型的情况,默认的情况ASP.NET MVC框架是怎么为我们绑定ASP.NET MVC的Actio ...
- Asp服务器控件(HyperLink、Button) 绑定后台参数 DataBinder.Eval
HyperLink动态绑定参数 <asp:HyperLink id="MbCenterHLnk" runat="server" Text='会员中心' T ...
- 使用 POJO 对象绑定请求参数
概述 Spring MVC 会按请求参数名和 POJO 属性名进行自动匹配,自动为该对象填充属性值并且支持级联属性.这一特性在日常开发过程中使用频率比较高,开发效率也高,本文主要对 POJO 对象绑定 ...
随机推荐
- 代替Reflection(反射)的一些方法
Reflection(反射)是深入学习.Net必须掌握的技能之一.最初学Reflection的时候,的确是被惊住了,原来还可以这样.只要给你一个Assembly, 你就能获取到其中所有的类型,根据类型 ...
- Redhat Linux安装JDK 1.7
本篇主要介绍在Redhat Linux(Red Hat Enterprise Linux Server release 5.7 (Tikanga))系统上安装JDK 1.7,其它Linux平台安装也大 ...
- Crontab定时任务配置
CRONTAB概念/介绍 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行. cron 系统调度进程. 可以使用它在 ...
- VS 中關於附加到進程中調試 的問題。
在使用Vs 2012 時,項目發佈到Local IIS 中,如果在調試某個頁面中時,都要F5--> Login --> Debug 很繁瑣,下列有一種較快捷的方式,能夠更快的調試代碼. 1 ...
- phpRedis安装、配置及简单使用
安装phpRedis前,请先安装Redis,再安装phpRedis插件. 1.下载安装 在linux服务器上,命令行执行以下命令(cd ./usr local/src 一般源码放在这里(推荐源码安装) ...
- stm32 u8 u16 u32
u8 是 unsigned char u16 是 unsigned short u32 是 unsigned int
- 3D坦克大战游戏iOS源码
3D坦克大战游戏源码,该游戏是基于xcode 4.3,ios sdk 5.1开发.在xcode4.3.3上完美无报错.兼容ios4.3-ios6.0 ,一款ios平台上难得的3D坦克大战游戏源码,有2 ...
- monkeyrunner之电脑安装驱动(五)
在Monkeyrunner做自动化测试时,可以使用模拟器,当然也可以选择用真机.不过,要想通过电脑来安装软件,操作手机,则必须先安装手机驱动,而且一般手机连接电脑之后,电脑会自动开始下载驱动.不过也经 ...
- .net下灰度模式图像在创建Graphics时出现:无法从带有索引像素格式的图像创建graphics对象 问题的解决方案。
在.net下,如果你加载了一副8位的灰度图像,然后想向其中绘制一些线条.或者填充一些矩形.椭圆等,都需要通过Grahpics.FromImage创建Grahphics对象,而此时会出现:无法从带有索引 ...
- 【2016-10-31】【坚持学习】【Day16】【MongoDB】【入门】
下载,安装: http://www.mongodb.org/downloads 命令行下运行 MongoDB 服务器 为了从命令提示符下运行MongoDB服务器,你必须从MongoDB目录的bin目录 ...