DevExpress WPF GridControl 绑定行的前景色和背景色

 

怎样通过判断一个行内的字段的值来改变该行的颜色呢?

我们使用绑定来做:

GridControl控件的行的概念很模糊,我们要想动态改变行的颜色不是设置一下Background就能做到的,我们需要改变它的RowStyle,下面是代码:

1 <Style x:Key = "RowStyle" BasedOn = "{StaticResource {dxgt:GridRowThemeKey ResourceKey=RowStyle}}" TargetType = "{x:Type dxg:GridRowContent}">
2             <Setter Property = "Background" Value="{Binding Row, Converter={StaticResource alarmLevelConverter}}"/>
3         </Style>

把它赋给

1     <dxg:GridControl.View>
2                 <dxg:TableView RowStyle="{DynamicResource RowStyle}" />
3             </dxg:GridControl.View>        

然后转换器怎么写呢?

 1     [ValueConversion(typeof(AlarmHappeningClass), typeof(Brush))]
 2 
 3     public class AlarmLevelConverter : IValueConverter
 4     {
 5 
 6         public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
 7         {
 8             AlarmHappeningClass alarmrow = value as AlarmHappeningClass;
 9             if (alarmrow == null)
10                 return Brushes.Transparent; ;
11             if (alarmrow.AlarmLevel=="紧急")
12                 return Brushes.Red;
13             else if (alarmrow.AlarmLevel == "重要")
14                 return Brushes.Orange;
15             return Brushes.Transparent;
16         }
17 
18         public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
19         {
20             throw new NotSupportedException();
21         }
22 
23     }

上面的转换器,根据自己的需要改代码就行了,如果在加trigger,自己在代码里面加就可以了。

 

转载于:https://www.cnblogs.com/xiujian/p/4146151.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值