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 GridControl控件的用法举例

WPF datagrid/gridcontrol 中选中多行,复制粘贴到excel或其他文本编辑器中

如何在 MFC 中使用的 WPF 控件中更改 DevExpress GridControl 默认主题

WPF Dev GridControl控件加载慢的问题优化