我需要根据单元格文本值设置单元格的背景。对于单个列,我需要根据值显示多个背景。我正在动态加载值。
单元格 1 - 值 1 - 红色
单元格 2 - 值 2 - 绿色
单元格 3 - 值 1 - 红色。
上面的单元格位于同一列中。我如何实现这一点?
使用 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>