Use an IValueConverter that converts your actual value to a certain color.
In code behind:
public class ValueToBgColorConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
// logic here, and return a color, like
return Brushes.Black;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return null;
}
}
And in XAML:
<DataGridTemplateColumn.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="Background" Value="{Binding Path=Value,Converter={StaticResource ValueToBgColorCoverter}}"/>
</Style>
</DataGridTemplateColumn.CellStyle>