欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > asp.net >内容正文

asp.net

WPF 根据绑定值设置DataGrid行背景色

发布时间:2025/7/25 asp.net 45 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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行背景色的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。