极品分享

C# WPF DataGrid 根据某列的值设置行的背景色、字色。

在某些情况下,我们需要在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;
    }     
}


2017-04-30 0 /
NET学习
/
标签: 

评论回复

回到顶部