如何基于WPF中的单元格值设置网格列的背景色?

时间:2019-07-11 10:49:30

标签: c# wpf grid styles converters

我需要根据单元格文本值设置单元格的背景。对于单列,我需要根据值显示多个背景。我正在动态加载值。

单元格1-值1-红色

单元格2-值2-绿色

单元格3-值1-红色。

以上单元格位于同一列中。我该如何实现?

1 个答案:

答案 0 :(得分:0)

使用 IValueConverter 将您的实际值转换为某种颜色。

在后面的代码中:

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;
    }
}

在XAML中:

<DataGridTemplateColumn.CellStyle>
    <Style TargetType="{x:Type DataGridCell}">
        <Setter Property="Background" Value="{Binding Path=Value,Converter={StaticResource ValueToBgColorCoverter}}"/>
    </Style>
</DataGridTemplateColumn.CellStyle>