C# 如何设置datagrid中依赖于数据输入的单元格的背景

C# 如何设置datagrid中依赖于数据输入的单元格的背景,c#,wpf,datagrid,C#,Wpf,Datagrid,无论单元格的值是否等于用户输入的TextBox.Text,我都希望在DataGrid中呈现单元格的背景色。 我该怎么办?有人能帮我吗?你没有透露太多关于DataGrid是如何使用的,或者它显示什么样的数据 例如,如果自动生成文本列,可以使用转换器突出显示背景,例如: public class HighlightConverter : IMultiValueConverter { public object Convert(object[] values, Type targetType,

无论单元格的值是否等于用户输入的TextBox.Text,我都希望在DataGrid中呈现单元格的背景色。
我该怎么办?有人能帮我吗?

你没有透露太多关于
DataGrid
是如何使用的,或者它显示什么样的数据

例如,如果自动生成文本列,可以使用转换器突出显示背景,例如:

public class HighlightConverter : IMultiValueConverter
{
    public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
    {
        string text = values[0] as string;
        TextBlock textBlock = values[1] as TextBlock;

        return !string.IsNullOrEmpty(text) && textBlock?.Text == text ? Brushes.Yellow : Brushes.White;
    }

    public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
    {
        throw new NotSupportedException();
    }
}
XAML:

<TextBox x:Name='tb' />
<DataGrid>
    <DataGrid.CellStyle>
        <Style TargetType="DataGridCell">
            <Setter Property="Background">
                <Setter.Value>
                    <MultiBinding>
                        <MultiBinding.Converter>
                            <local:HighlightConverter />
                        </MultiBinding.Converter>
                        <Binding Path="Text" ElementName="tb" />
                        <Binding Path="Content" RelativeSource="{RelativeSource Self}" />
                    </MultiBinding>
                </Setter.Value>
            </Setter>
        </Style>
    </DataGrid.CellStyle>
</DataGrid>