如何根据单元格值更改DataGrid单元格背景色

3
我正在尝试更改包含“修改”单词的DataGrid单元格的Background颜色。

WinForms中,我使用以下代码实现了这一点:

DataGridViewCellStyle style = new DataGridViewCellStyle();
style.BackColor = Color.DarkCyan;

foreach (DataGridViewRow Row in dataGridView1.Rows)
{
    if (Row.Cells["Permission"].Value.ToString().Contains("Modify"))
    {
        Row.Cells["Permission"].Style = style;
    }
}

我用DataTable填充这个DataGrid
我对WPF了解很少,如果你有任何建议,请具体说明。

我正在使用 dataGrid1.ItemsSource = dataTable.AsDataView(); 来获取 DataTable,但是我收到了消息“在使用 ItemSource 之前,项集合必须为空”。 - Paulo Rocha
1个回答

1
我采取了以下措施来解决我的问题:

<DataGrid x:Name="dataGrid" HorizontalAlignment="Left" Height="173" Margin="53,127,0,0" VerticalAlignment="Top" Width="378" AutoGenerateColumns="False">
            <DataGrid.Columns>
                <DataGridCheckBoxColumn Binding="{Binding Selecione}" Header="Selecione"/>
                <DataGridTextColumn Binding="{Binding Grupos}" Header="Grupos"/>
                <DataGridTextColumn Binding="{Binding Permissoes}" Header="Permissões">
                    <DataGridTextColumn.CellStyle>
                        <Style TargetType="DataGridCell">
                            <Style.Triggers>
                                <DataTrigger Binding="{Binding Permissoes}" Value="Modify">
                                    <Setter Property="Background" Value="Green"/>
                                </DataTrigger>
                            </Style.Triggers>
                        </Style>
                    </DataGridTextColumn.CellStyle>
                </DataGridTextColumn>`enter code here`
            </DataGrid.Columns>
        </DataGrid>

你为一列制作了它,是否可能动态地为所有列制作它? - Tito

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接