我有一个比较两个dataTable中的数据的方法 . 在比较之后,我想要在WPF dataGRID中可视化这些比较数据(在新的DataTable中称为ChangeTab) .
我从DataContext填充datagrid:
win.TableOfChange.DataContext = ChangeTab.DefaultView;
<DataGrid ItemsSource="{Binding}" Height="107" HorizontalAlignment="Left"....
我正在解决问题,如何用红色可视化不同的数据(在DataTables中),以及与绿色相同的数据 - 类似于图片中的数据:
有没有办法,怎么做(将颜色设置为WPF dataGRID单元格中的某些红色和一些绿色来自C#)?
非常感谢!
2 回答
我假设您在比较过程中构建源表,如果是这样,您可以轻松存储指示相等的布尔值 . 然后在CellStyle中,您可以在该属性上使用DataTrigger并使Setter将TextElement.Foreground属性更改为所需的值 .
我倾向于将DataTemplates用于网格中的大多数列 . 您需要创建一个类,如下所示:
然后创建一个这样的datatemplate:
然后,您将模板分配给每个列 .
如果IsDifferent为真,另一个可能更好的选择是使用Trigger来改变颜色 .