今天积攒了一个转换器的用法,分享给各位。

我们经常会有这种需求: 某些控件有时需要显示,有时需要隐藏,比如:

那,我就想通过一个bool变量和是否显示绑定。

但是我们知道,是否显示,这个属性 Visibility 它并不是一个bool类型无法直接绑定,此时我们需要一个转换器!

接下来,这个转换器可以讲bool类型转换为字符串类型,十分通用,我们就已Visibility举个例子:

<UserControl.Resources><wpfcv:Bool2StringConverter  x:Key="b2s"/>
</UserControl.Resources>------------------------------------------------------------------
Visibility="{Binding CanShowCross,
Converter={StaticResource b2s},
ConverterParameter=Visible:Hidden}"

这里我们使用了 Bool2StringConverter  这个转换器,使用这个转换器是,还给转换器传了一个参数,可以将其看成一个字符串 " Visible:Hidden "

记下来我们看看 Bool2StringConverter  是如何定义的。

后台代码

using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Data;namespace WpfConverter
{public class Bool2StringConverter : IValueConverter{public object Convert(object value, Type targetType, object parameter, CultureInfo culture){if (parameter == null) return DependencyProperty.UnsetValue; if (value == null) return DependencyProperty.UnsetValue;//将参数字符分段 parray[0]为比较值,parray[1]为true返回值,parray[2]为false返回值string[] parray = parameter.ToString().ToLower().Split(':'); if (value is bool && parray.Length >=2){//value为bool,true返回parray[1],false返回parray[2]return (bool)value? parray[0] : parray[1];}else{return DependencyProperty.UnsetValue;}}public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture){//throw new NotImplementedException();return DependencyProperty.UnsetValue;}}
}

在后台中,我们根据绑定的bool值,来判断返回,字符串 Visible:Hidden 的哪个部分,如果是true

就返回Visible, 否则返回Hidden。是不是很巧妙。

这样我就可以通过这么一句话:

Visibility="{Binding CanShowCross,
Converter={StaticResource b2s},
ConverterParameter=Visible:Hidden}"

来实现某个控件的显示与否了!

【wpf】转换器 Converter相关推荐

  1. SpringMVC配置任何类型转换器 Converter(以时间类型为例)

    SpringMVC配置任何类型转换器 Converter (以时间类型为例) 从页面传到后台的时间字符串转成日期格式封装到实体类 1. 定义时间DateConverter转换类实现  Converte ...

  2. 转换器(Converter)—Struts 2.0中的魔术师

    本系列文章导航 为Struts 2.0做好准备 Struts 2的基石--拦截器(Interceptor) 常用的Struts 2.0的标志(Tag)介绍 在Struts 2.0中国际化(i18n)您 ...

  3. Spring MVC自定义类型转换器Converter、参数解析器HandlerMethodArgumentResolver

    文章目录 一.前言 二.类型转换器Converter 1.自定义类型转换器 三.参数解析器 1.自定义分页参数解析器 2.自定义注解参数解析器 一.前言 Spring MVC源码分析相关文章已出: S ...

  4. java converter转换器_在SpringMVC中设置自定义类型转换器Converter

    前言 在SpringMVC中为我们提供了许多内置的类型转换器,当我们在HTML表单中发起一个请求时,Spring会根据表单项中name属性的值映射到POJO的属性名,调用相对性属性的set方法帮我们把 ...

  5. html5单位转换器,Converter单位转换器

    Converter单位转换器是一个功能强大且易于使用的应用程序,转换所有您所需.Converter支持超过650部来自35个不同的类别,欢迎大家前来下载体验. 产品特点: ★简单易用且非常直观的用户界 ...

  6. SpringMVC(7)——类型转换器Converter

    目录 概述 内置的类型转换器 自定义类型转换器 创建实体类 创建控制器类 创建自定义类型转换器类 注册类型转换器 创建JSP视图文件 运行效果 概述 SpringMVC框架的Converter< ...

  7. EasyExcel 自定义LocalDate类型转换器Converter

    1 Maven依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel< ...

  8. EasyExcel导入excel中时间格式到LocalDateTime字段转换器Converter

    项目开发中,Excel导入导出一直是比较重要并且常见的一个功能,之前在项目开发中一直使用的是Apache poi,最近发现alibaba推出的一个框架Easy Excel ,官网地址:EasyExce ...

  9. flask路由规则及正则转换器converter

    (1)查看所有路由 我们可以通过app.url_map来查看当前项目下的所有 路由信息列表. # coding:utf-8 from flask import Flask # 创建flask应用 ap ...

最新文章

  1. const pointer
  2. linux 命令pg,linux下操作PostgreSQL的常用命令
  3. phpstorm 全项目替换_会信息交互还带5G基站的路灯来了!白云新城智慧灯杆项目动工...
  4. Java - HashSet源码解析
  5. 最强IM软件微信陌陌架构怎么实现,25页ppt解读
  6. 衡量公司盈利能力的重要指标-净资产收益率
  7. 第八章 软件项目团队管理
  8. 英语四级词汇量测试软件,大学英语四级词汇量要求及自测卷
  9. 数竞党必看!数学竞赛权威赛事大合集,先马后看
  10. 机器学习可解释性之shap模块的使用——基础用法(一)
  11. TableauとSFDCデータ整理
  12. [轉]ERP系统之比较——SAP、Oracle、BAAN、JDE、SSA
  13. Warshall算法C语言实现
  14. 利用GPO(组策略对象)批量控制域内主机
  15. MSP430学习心得
  16. [Python]查看Python版本
  17. 人脸检测:人脸检测算法综述
  18. 用CentOS 7安装cadence搭建适合IC Design的科研环境(四)——IC617、MMSIM151、calibre2015安装过程step by step
  19. 一份超详细的Java问题排查工具单
  20. iPhone、iPad所有字体UIFont

热门文章

  1. python画春节_过年,大家都在集五福,程序员整理了2018年python学习路线及方法...
  2. 【2023年最新】私房推荐7个好用到爆的实用、资源宝藏网站
  3. 四级英语作文:青少年吸烟探因
  4. Mybatis 实现共通的增删改查
  5. vue中使用postcss-pxtorem实现适配
  6. redis 数据类型之有序集合(sorted set) 详细介绍
  7. MySQL使用SQL语句新增字段、删除字段
  8. Fullpage指定某一屏内容不垂直居中
  9. 蓝思科技预计今年第一季度净利润同比下降170%至200%
  10. 程序员们,曾经是否有个bug让你开始怀疑人生