首页 > 代码库 > DevExpress WPF GridControl 绑定行的前景色和背景色
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,自己在代码里面加就可以了。
DevExpress WPF GridControl 绑定行的前景色和背景色
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。