WPF 根据绑定值设置DataGrid行背景色
生活随笔
收集整理的这篇文章主要介绍了
WPF 根据绑定值设置DataGrid行背景色
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
实现这个功能可以使用类型转换器
1建立一个类BGConverter.cs该类需要继承IValueConverter接口,并实现接口的Convert与ConvertBack方法。注意在Class上需要加上一句话,
[ValueConversion(typeof(int),typeof(Brushes))]
前一个type是源类型,后一个是目标类型
[ValueConversion(typeof(int),typeof(Brushes))]class BGConverter:IValueConverter{public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture){int surplus=(int)value;if(surplus<10){return Brushes.Red;}else if(surplus>100){return Brushes.Yellow;}else{return Brushes.White;}}public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {return null;}Convert方法中对value值进行判断,小于10的返回红色,大于100返回黄色,其他为白色。ConvertBack方法我用不到,返回空值。
在xaml文件的window里加入一句话xmlns:local="clr-namespace:当前命名空间"
在DataGrid中加入DataGrid.Resource
1 <DataGrid.Resources> 2 <local:BGConverter x:Key="bgconverter"/> 3 <Style TargetType="DataGridRow"> 4 <Setter Property="Background" Value="{Binding Path=Surplus, Converter={StaticResource bgconverter}}"/> 5 </Style> 6 </DataGrid.Resources>setter的value绑定值就是需要转换类型的绑定值。
转载于:https://www.cnblogs.com/shuqiangji/p/3808819.html
总结
以上是生活随笔为你收集整理的WPF 根据绑定值设置DataGrid行背景色的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: [原]如何做一份精致的性能测试报告?
- 下一篇: asp.net 连接access数据库方