WPF converter(包含传递复杂参数)
单值转换器
将单一值转换为特定类型的值,以日期转换为例如下:
1、定制DateConverter类,其中当值从绑定源传播给绑定目标时,调用方法Convert。
1 public class DateConverter : IValueConverter
2 {
3 public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
4 {
5 return ((DateTime)value).ToString("yyyy/MM/dd");
6 }
7
8 public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
9 {
10 return null;
11 }
12 }
当值从绑定目标传播给绑定源时,调用此方法ConvertBack,方法ConvertBack的实现必须是方法Convert的反向实现。例如下:
1 public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
2 {
3 DateTime date = (DateTime)value;
4 return date.ToShortDateString();
5 }
6
7 public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
8 {
9 string strValue = value as string;
10 DateTime resultDateTime;
11 if (DateTime.TryParse(strValue, out resultDateTime))
12 {
13 return resultDateTime;
14 }
15 return DependencyProperty.UnsetValue;
16 }
返回值DependencyProperty.UnsetValue表示转换器没有生成任何值。但是通常情况下方法ConvertBack没有方法Convert常用,这里不做过多介绍。
2、在xmal文件引用DateConverter类所在命名空间。
1 xmlns:cvt="clr-namespace:ValueConverterDemo.Converter"
3、在xaml文件添加Resources。
1 <Window.Resources>
2 <cvt:DateConverter x:Key="cvtDate"/>
3 </Window.Resources>
4、在xaml文件中指定Binding值的Converter
1 Text="{Binding CurrentDate, Converter={StaticResource cvtDate}}"
效果如下图,图中“时间”是未经过转换的原始DateTime类型,“日期”经过转换处理后只显示日期部分。
aaarticlea/png;base64,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" alt="" />
多值转换器
将多组值转换为特定类型的值,以纵横流量影响交通指示灯颜色的变化为例如下:
当纵向流量大于横向流量时指示灯应为绿色,当纵向流量小于横向流量时指示灯应为红色,否则指示灯为黄色。
1、定制ColorConverter类,此时Convert中参数是object[] values,values[0]对应MultiBinding中的第一个Binding值,这里是纵向流量值,依此类推,可以在MultiBinding对象中指定多个绑定。
1 public class ColorConverter : IMultiValueConverter
2 {
3 public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
4 {
5 double verValue = (double)values[0];
6 double horValue = (double)values[1];
7 if (verValue > horValue)
8 {
9 return new SolidColorBrush(Colors.Green);
10 }
11 else if (verValue < horValue)
12 {
13 return new SolidColorBrush(Colors.Red);
14 }
15 return new SolidColorBrush(Colors.Yellow);
16 }
17
18 public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
19 {
20 return null;
21 }
22 }
2、3步同单值转换。
4、xmal文件中指定定制的Converter,此时需要使用的MultiBinding来指定多组Binding。
1 <MultiBinding Converter="{StaticResource cvtColor}">
2 <Binding Path="Value" ElementName="slVer"/>
3 <Binding Path="Value" ElementName="slHor"/>
4 </MultiBinding>
效果如下图交通灯的颜色是根据纵向流量和横向流量的关系而变化的。
- 纵向流量大于横向流量
aaarticlea/png;base64,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" alt="" />
- 纵向流量小于横向流量
aaarticlea/png;base64,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" alt="" />
- 纵向流量等于横向流量
aaarticlea/png;base64,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" alt="" />
WPF Converter 使用复杂参数的方法
Step 1
在WPF的C#代码文件中给定义复杂类型的变量,并给其赋值;
Sample code: List<User>lsUser=。。。。
Setp 2
在 C#代码对应的XAML 中将此复杂参数定义为资源;
Sample code:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:c="clr-namespace:SDKSample"
x:Class="SDKSample.Window1"
Width="400"
Height="280"
Title="MultiBinding Sample">
<Window.Resources>
<c:lsUser x:Key="userList"/>
...
</Window.Resources>
这里的命名空间 C 是你的复杂参数所在的命名空间;
Step 3
<UserControl.Resources>
<app:UserManager x:Key="StaticUsers"/>
<app:UserNameConverter x:Key="UsrConverter"/>
</UserControl.Resources>
<TextBox Text="{Binding XXXX,Converter={StaticResource UsrConverter},
ConverterParameter={StaticResource userList }}" />
Step 4 Converter 里对参数的使用
public class UserNameConverter : IValueConverter
{
public object IValueConverter.Convert(object value, Type targetType,object parameter, CultureInfo culture)
{
List<User> usrs = parameter as List<User>;
...
}
}
WPF converter(包含传递复杂参数)的更多相关文章
- wpf converter converterparameter 绑定多参数
1. converterparameter不是依赖属性,所以不能用binding. 2. 可以把converter 的接口 IValueConverter改为 IMultiValueConverter ...
- spring MVC中传递的参数对象中包含list的情况
测试需要的jar包:spring 3.2.jar + jackson-all-1.8.5.jar. 写代码时碰到个需要将对象里的子明细一起传递到controller里去,当时就想直接将参数一起传递过 ...
- 经历:sybase的sql查询,当传递的参数中包含全角空格(\u00a0),查询慢
今天,我遇到了一个sybase数据库查询的问题.一句简单的sql,但是不知道为什么查询不出来,导致生产生产服务器频频挂掉.吓得我的小心脏砰砰啊. select DISTINCT A.FCIL_CDE ...
- WPF 进程间传递参数
WPF 进程间传递参数 在软件开发中有时需要在一个软件中启动另一个软件,这时用Process.Start(“软件路径”)可以启动另一个软件.如果在这个过程中还需要传递一些参数给新启动 ...
- SpringMVC中用@ParamVariable传递的参数包含斜杠(/)时,匹配不了报404错误的解决方案
今天做网站[标签]筛选功能时,出现了这么个奇葩的问题. 我是直接通过<a>标签中href来跳转的,url中包含汉字 <a href="/tags/标签A"> ...
- Web报表页面如何传递中文参数
1.场景描述 在用报表开发工具FineReport设计的web报表中,给iframe设置src嵌入某个报表时,往往会给报表传递初始的参数值,例如: <iframe id="report ...
- 在Web api2 中传递复杂参数的一点心得
这两天在做的一个项目基于webapi2,期间遇到了复杂参数传递的问题.其中刚好看到园友的这篇文章,但是我测试收结果是失败的,还不知道是什么原因.最终经过思考后,找到了一种方法,和大家分享下. 在前端我 ...
- WPF converter
单值转换器 将单一值转换为特定类型的值,以日期转换为例如下: 1.定制DateConverter类,其中当值从绑定源传播给绑定目标时,调用方法Convert. 1 public class DateC ...
- DLL中传递STL参数,vector对象作为dll参数传递等问题(转)
STL跨平台调用会出现很多异常,你可以试试. STL使用模板生成,当我们使用模板的时候,每一个EXE,和DLL都在编译器产生了自己的代码,导致模板所使用的静态成员不同步,所以出现数据传递的各种问题,下 ...
随机推荐
- linux 下 多进程与多线程
[Linux]多进程与多线程之间的区别 http://blog.csdn.net/byrsongqq/article/details/6339240 网络编程中设计并发服务器,使用多进程与多线程 ,请 ...
- Markdown语法格式
Markdown是一种可以普通文本编辑器编写的标记语言,通过简单的标记语法,就可以使普通文本内容具有一定的格式.(摘自百度百科) 今天记录一下Markdown语法,以供以后使用时查询. 1.标题 用 ...
- Interview | Why are manhole covers round and not square or rectangular?
Manholes, which interconnect underground sewerage pipes, and serve as a point of entry for cleaning ...
- 分享Kali Linux 2017.1镜像
分享Kali Linux 2017.1镜像 Kali Linux官方于4月24日发布Kali Linux 2017.1版本.该版本仍然采用滚动更新方式,所以软件源为kali-rolling.至现在分 ...
- UVA 11039 Building designing 贪心
题目链接:UVA - 11039 题意描述:建筑师设计房子有两条要求:第一,每一层楼的大小一定比此层楼以上的房子尺寸要大:第二,用蓝色和红色为建筑染色,每相邻的两层楼不能染同一种颜色.现在给出楼层数量 ...
- group by与distinct效率分析及优化措施
如何使用group by进行去重 因为mysql的distinct在结果集中,全部不同,才可以去重.所以,当我们进行去重处理的时候,需要单独对某列进行去重,可以使用group by子句进行分组去重se ...
- Git 详细的操作指南笔记
喜欢的朋友start一下,长期更新文章 设置 安装git后我们需要配置一下,告诉git我们的基本信息等等..一般在用户范围内去配置 git ,也就是在 global 范围. global 全局设置 $ ...
- 聊聊、Zookeeper Linux 集群服务
今天是平安夜,先祝大家平安夜快乐.这篇文章我们来谈谈 Zookeeper Linux 集群. 为什么要集群呢?因为一台服务不够.集群是为了系统扩容,系统稳定.一台服务挂了,没关系,我还有其他的服务.集 ...
- ios界面笔记(二)
1,在ios下实现checkbox的效果 主要思路是添加一个button,然后读取其isselected属性,分别添加不同的界面图片即可 具体实现如下: 2,解决两个window切换时消息无法送达 主 ...
- IOS开发self.的用法总结
如果声明的是retain类型的,然后使用self.的话此时引用计数会加1,变成1,如果同时又使用了alloc,那么引用计数又加一变成了2,那么如果只是release一次的话就会内存泄漏. 这种情况下的 ...