WPF:如何在运行时更改datagrid单元格的背景色
我在两个数据网格中显示了两个数据表(让我们称之为left和right),它可以正常工作。然而,我想做的是允许用户根据选择比较两行(左行和右行),并在单元格不同时更改背景 样本: 左WPF:如何在运行时更改datagrid单元格的背景色,wpf,datagrid,datatable,Wpf,Datagrid,Datatable,我在两个数据网格中显示了两个数据表(让我们称之为left和right),它可以正常工作。然而,我想做的是允许用户根据选择比较两行(左行和右行),并在单元格不同时更改背景 样本: 左 |A | B | C | |1 | 2 | 3 | |1 | 2 | 3 | |1 | 2 | 3 | 对 |A | B | C | |1 | 2 | 4 | |1 | 2 | 3 | |1 | 2 | 3 | 在XAML中,我的数据网格看起来像: 在代码中,我将datagrid绑定到DataTable: Tabl
|A | B | C |
|1 | 2 | 3 |
|1 | 2 | 3 |
|1 | 2 | 3 | 对
|A | B | C |
|1 | 2 | 4 |
|1 | 2 | 3 |
|1 | 2 | 3 | 在XAML中,我的数据网格看起来像:
在代码中,我将datagrid绑定到DataTable:
TableRows = new DataTable();
leftData.ItemsSource = TableRows;
当用户选择左侧和右侧的第一行时,列C上的单元格应标记为红色背景
在WPF中如何更好地实现这一点?在WPF中使用DataGrid可以做到这一点吗?您可以执行以下操作
//dataControl would be the name of your control in the XAML
var cell = dataControl.Cells[columnIndex,rowIndex];
cell.Background = new SolidBrush(Colours.Red);
显然,您需要在您当前拥有的任何逻辑中实现这一点,如果您发布更多,那么我将更好地了解它的发展方向。最后,我找到了解决方案。DataGrid控件不提供获取DataGridCell的方法,但是可以使用VisualTreeHelper从DataGrid控件获取DataGridCell,以获取DataGridCellsReseCenter,也可以从presenter获取DataGridCell 更多信息和代码可在此处找到:
你好,斯蒂奥茨,我编辑了这个问题。问题是DataGrid没有您在代码中提到的任何属性单元格。