WPF datagrid行背景设置
WPF中DataGrid行背景颜色根据“状态”列的值进行动态设置,如果状态为“未处理”则行背景色设置为红色,否则为默认白色。...
WPF中DataGrid行背景颜色根据“状态”列的值进行动态设置,如果状态为“未处理”则行背景色设置为红色,否则为默认白色。
展开
1个回答
展开全部
我做一个最简单的demo给你看下。说下思路:
设置DataGridRow的Background绑定到你的“状态”字段,然后用Converter去做转换即可。
<DataGrid.Resources>
<Style TargetType="DataGridRow">
<Setter Property="Background" Value="{Binding State字段,Converter={StaticResource MyBgColorConverter}}"/>
</Style>
</DataGrid.Resources>
转换器代码:
class BgColorConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
bool result = (bool)value;
if (result == true)
{
return new SolidColorBrush(Colors.White);
}
else
{
return new SolidColorBrush(Colors.Red);
}
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
设置DataGridRow的Background绑定到你的“状态”字段,然后用Converter去做转换即可。
<DataGrid.Resources>
<Style TargetType="DataGridRow">
<Setter Property="Background" Value="{Binding State字段,Converter={StaticResource MyBgColorConverter}}"/>
</Style>
</DataGrid.Resources>
转换器代码:
class BgColorConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
bool result = (bool)value;
if (result == true)
{
return new SolidColorBrush(Colors.White);
}
else
{
return new SolidColorBrush(Colors.Red);
}
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询