对于datagrid的行色根据条件变化,一直不知道如何处理,现在解决了,分享给各位
首先,在你绑定datagrid的数据集之后需要加上这样一句话,是表示在加载完datagrid之后,会调用你传入的方法
1 Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.ApplicationIdle, new Action(setRowColorToDataGrid/*方法名*/));
之后,我个人定义了一个方法
private void setRowColorToDataGrid(){ for (int i = 0; i < this.dg_showMeeting.Items.Count; i++) { DataRowView drv = dg.Items[i] as DataRowView; int age= Convert.ToDateTime(drv["age"]); if (age < 18) { var row = dg.ItemContainerGenerator.ContainerFromItem(dg.Items[i]) as DataGridRow; row.Background = new SolidColorBrush(Colors.Red); } } }
之后你便可以看到效果了