WPF的DataGrid的某个列绑定数据的三种方法(Binding、Converter、DataTrigger)
原文:WPF的DataGrid的某个列绑定数据的三种方法(Binding、Converter、DataTrigger)

最近在使用WPF的时候,遇到某个列的值需要根据内容不同进行转换显示的需求。尝试了一下,大概有三种方式可以实现:

1、传统的Binding方法,后台构造好数据,绑定就行。

2、转换器方法(Converter),绑定后,触发转换器,转换器负责把值转换成需要的内容。

3、DataTrigger方法,直接在xaml里面对数据进行处理,展示所需要的内容。

这里主要学习了怎么使用第3种方法。写下来,防止突然想找的时候还得去翻源码。

<DataGridTemplateColumn Header="数据包是否下载" Width="140"><DataGridTemplateColumn.CellTemplate><DataTemplate><TextBlock><TextBlock.Style><Style TargetType="TextBlock" BasedOn="{StaticResource TextBlockBaseStyle}"><Style.Triggers><DataTrigger Binding="{Binding Path= DevIsDownload}" Value="False"><Setter Property="Text"  Value="否"></Setter><Setter Property="Foreground" Value="Red"></Setter></DataTrigger><DataTrigger Binding="{Binding Path= DevIsDownload}" Value="True"><Setter Property="Text"  Value="是"></Setter><Setter Property="Foreground" Value="Green"></Setter></DataTrigger></Style.Triggers></Style></TextBlock.Style></TextBlock></DataTemplate></DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

根据绑定的DevIsDownload列的内容(bool类型),来触发显示效果,如果为false,则前台显示为 红色的“否”字。如果为true,则前台显示为 绿色的“是”字。

posted on 2019-06-27 23:08 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/11100212.html

WPF的DataGrid的某个列绑定数据的三种方法(Binding、Converter、DataTrigger)相关推荐

  1. 用旭日图展示数据的三种方法

    什么是旭日图? 旭日图(Sunburst Chart)是一种现代饼图,它超越传统的饼图和环图,能表达清晰的层级和归属关系,以父子层次结构来显示数据构成情况.旭日图中,离远点越近表示级别越高,相邻两层中 ...

  2. mysql如何防止插入重复数据_防止MySQL重复插入数据的三种方法

    新建表格 CREATE TABLE `person` ( `id` int NOT NULL COMMENT '主键', `name` varchar(64) CHARACTER SET utf8 C ...

  3. python csv库,Python 中导入csv数据的三种方法

    Python 中导入csv数据的三种方法,具体内容如下所示: 1.通过标准的Python库导入CSV文件: Python提供了一个标准的类库CSV文件.这个类库中的reader()函数用来导入CSV文 ...

  4. 如何安全的在不同工程间安全地迁移asset数据?三种方法

    如何安全的在不同工程间安全地迁移asset数据?三种方法 答: 1.将Assets和Library一起迁移 2.导出包package 3.用unity自带的assets Server功能 posted ...

  5. mysql 禁止插入重复数据_防止MySQL重复插入数据的三种方法

    新建表格 CREATE TABLE `person` ( `id` int NOT NULL COMMENT '主键', `name` varchar(64) CHARACTER SET utf8 C ...

  6. Android 免root 备份数据,教你安卓手机免Root恢复手机数据的三种方法

    说到安卓手机,人们对它的第一印象就是开源.自由.可定制.市面上大多数系统,比如Flyme.MIUI其实都是由安卓内核再加上一层自己的包装罢了.所以你会看到手机上一堆预装软件卸载不掉,这本质上就是手机厂 ...

  7. 前端js调用后端API获取数据的三种方法(2022.7.25)

    前端js调用后台API获取数据的三种方法(2022.7.25) 前言 需求分析 一个Get实例 浏览器请求 SoapUI软件请求 一个Post实例 浏览器请求 SoapUI软件请求 1.Http简介( ...

  8. 查看Mat对象的数据的三种方法

    我们有了Mat的对象之后,就可以开始对图像进行处理. 在图像的处理过程中,对数据的查看并且对其进行修改,这应当是比较频繁的操作了. 这里讲讲官方手册当中给出的三种方法. 第一种方法:使用指向Mat数据 ...

  9. python recv_python网络编程调用recv函数完整接收数据的三种方法

    最近在使用python进行网络编程开发一个通用的tcpclient测试小工具.在使用socket进行网络编程中,如何判定对端发送一条报文是否接收完成,是进行socket网络开发必须要考虑的一个问题.这 ...

  10. mysql导出表结构及数据的三种方法

    navicat导出表一共有三中用法: 第一种:数据库上右键->"转储SQL文件",如图: "转储文件"是把整个数据库表全部导出,所有的表都是先drop然后 ...

最新文章

  1. 就在几天前,听说用了 YYYY-MM-dd 的程序员,都在加班改 Bug !
  2. 概率x^2 t F三大分布的联系
  3. 网狐棋牌客户端连接服务器修改方法6,网狐游戏服务器 客户端连接
  4. 什么流读取MultipartFile_深入理解并运用Node中的IO模型流
  5. python中pow函数_pow()函数以及Python中的示例
  6. ES6之Module 的加载实现(1)
  7. drop.delete.trauncat的区别
  8. Ranger-AdminServer安装
  9. JQuery——实现Ajax应用
  10. OPENFILENAME结构的定义
  11. Java强制删除java程序占用的文件
  12. ubuntu16.04+cuda8.0安装pytorch
  13. Appium+python自动化(二十一)- 让猴子按你指令大闹手机,让我们都成为耍猴高手(超详解)...
  14. solver参数详解
  15. 数据结构:什么是红黑树?为什么要用红黑树?
  16. 【Linux】CentOS7设置笔记本合盖不休眠
  17. 身份证号码验证(直接调用idCardValidate(String idCard) )
  18. Unity适配iphone刘海屏
  19. Synergy报错 grabbed clipboard 和 disconnected 连接不上客户端
  20. CF 666E 题解

热门文章

  1. sql server 2008 r2 打开ssms管理工具,提示“值不能为空”问题
  2. 基于HTML5功能强大的滑块幻灯片
  3. 设计模式_07_单例模式
  4. SpringBoot 使用Class.forName方法返回java.lang.ClassNotFoundException
  5. 解决Mysql安装之后没有my.ini配置文件问题
  6. puppeteer-firefox 开启扩展
  7. MySQL innodb下的记录锁,间隙锁,next-key锁
  8. 02. 不要试图编写独立于容器类型的代码
  9. python自定义规律绘制_ForMaiR - 自定义规则的邮件自动转发工具
  10. apache tomcat ajp协议安全限制绕过漏洞_【高危安全通告】Apache Tomcat 文件包含漏洞(CVE20201938)...