在某些情况下,我们需要在DataGrid列表中根据某个字段的值的不同来设置不同的背景色或字体颜色等。
最简单的方法是使用DataGrid的LoadingRow事件。今天给大家介绍下设置方法:
1、在XAML中给DataGrid设置 LoadingRow 事件
2、在CS代码中,在datagrid_LoadingRow事件代码中,添加如下代码:
private void datagrid_LoadingRow(object sender, DataGridRowEventArgs e) { //获得该行的数据内容DataRowView var drv = e.Row.Item as DataRowView; //根据ID字段的内容不同进行设置 switch (drv["ID"].ToString()) { //根据ID字段的内容,改变数据行的背景色 case "1": e.Row.Background = new SolidColorBrush(Colors.Green); break; case "2": e.Row.Background = new SolidColorBrush(Colors.Yellow); break; case "3": e.Row.Background = new SolidColorBrush(Colors.CadetBlue); break; //根据ID字段的内容,改变数据行的字色 case "1": e.Row.Foreground = new SolidColorBrush(Colors.Green); break; case "2": e.Row.Foreground = new SolidColorBrush(Colors.Yellow); break; case "3": e.Row.Foreground = new SolidColorBrush(Colors.CadetBlue); break; } }
评论回复