AnkushK1
Вы пробовали использовать для этого ValueConverter? Используйте свойство зависимости для выполнения вычисления на основе предыдущего значения, и это должно вызвать привязку конвертера, где вы должны установить цвет. Для окраски ячеек с помощью конвертера обратитесь к приведенному ниже коду:
код XAML:
<Window.Resources>
<local:NameToBrushConverter x:Key="CellConverter"/>
</Window.Resources>
...
<DataGridTextColumn Binding="{Binding PropertyName}">
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Background" Value="{Binding PropertyName, Converter={StaticResource NameToBrushConverter}}"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
Код:
public class CellConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
string input = value as string;
switch (input)
{
case <your value condition>:
return Brushes.Red;
default:
return DependencyProperty.UnsetValue;
}
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotSupportedException();
}
}