WPF中经常使用DataGrid来显示表格数据,我的做法是把数据先放在一个DataTable中,然后再绑定到DataGrid中,以后要读写数据就直接操作DataTable,DataGrid仅仅是一个显示容器。
绑定代码:
dataGrid.ItemsSource = dataTable.DefaultView;
DataGrid的DataRowLoading事件中,可以改变某一行的整体颜色,但是现在我希望DataGrid中的文字能够按照一定的规则显示不同的颜色,每一列都有自己的规则,例如第一列的数据大于100为红色,小于60为蓝色,否则为绿色;第二列的数据大于200为红色,小于160为蓝色,否则为绿色。这又该怎么做呢?
这需要从IMultiValueConverter派生一个类,定义颜色的规则,然后在xaml中将每一列的单元样式制作好,并传入必要的列参数,最后在DataRowLoading时用后台代码将DataGrid的列样式指定(因为DataGrid的内容是后台动态加载的,因此必须动态指定样式)。
1、IMultiValueConverter派生类
public class DataG