WPF gridControl中满足条件后某行添加不同的颜色
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF gridControl中满足条件后某行添加不同的颜色相关的知识,希望对你有一定的参考价值。
gridControl中放的是tableView
"gridControl中放的是tableView"??你用的是ListView还是DataGrid?
不管是哪一种,对于从ItemsControl继承而来的控件而言,你的需求可以通过定义ItemContainerStyle实现。
这个ItemContainerStyle其实就是一个Stye,其TargetType与你所用的控件有关系,比如ListView的是ListViewItem
写的时候,需要用到Converter,用于根据条件返回Brush,例如:
public class ConditionalBrushConverter : IValueConverter
public object Convert(object value, ....)
if(value ....)
return Brushes.Red;
else if(value ...)
return Brushes.Blue;
....
<Style x:Key="ConditionalBackgroundListViewItem" TargetType="ListViewItem">
<Setter Property="Background" Value="Binding Path=相关的属性, Converter=StaticResource 你写的一个Converter用于按条件返回Brush"/>
</Style>
然后在你的控件上
<ListView ItemContainerStyle="StaticResource ConditionalBackgroundListViewItem" .... 参考技术A 你有没有做过web程序,去看看他们是怎么把单双行区分开设成不同颜色的。
在WPF中我之前想过这种效果,不过没去试过,一个思路给你说说,就是你把它的背景色设置到数据源里。在数据源里依据不同的条件设置不同的颜色值。然后把这个值绑定到背景上去。
Dev中gridControl控件怎么讲某行的两列单元格合并
在gridcontrol的设计器中1)添加一个非绑定列
2)将这个列的ColumnEdit设置为CheckEdit
3)将这个列的UnboundType设置为Boolean
4)将这个列的UnboundExpression设置为:[A] == \'C\'
5)将这个列的ReadOnly设置为true
不需要编写代码,用设计器就可以了!追问
我是只需要将某行的两列合并 不是所有行的这两列都合并,已经用代码解决了,谢谢你,学习了
参考技术A 既然你点击全选,那就证明所有的行都认为是选中,所以循环列表的每行,查找每行的checkbox控件,设置为选中;要对所有行进行操作,也是1样的。。。。以上是关于WPF gridControl中满足条件后某行添加不同的颜色的主要内容,如果未能解决你的问题,请参考以下文章
DEV GridControl怎样使GridView中满足某个条件的行可编辑,其余行不可编辑?
dev 控件,在gridcontrol中如何实现对满足条件的某一行进行涂色(改变背景颜色即可)
WPF datagrid/gridcontrol 中选中多行,复制粘贴到excel或其他文本编辑器中