问题

MySqlConnection mycon = new MySqlConnection(str);
mycon.Open();
MySqlDataAdapter da = new MySqlDataAdapter("select * from Stage", mycon);
da.Fill(dt);
MyGrid.ItemsSource = dt.DefaultView;
回答1:
Your cell-data should have a property IsBooked
, then in the DataGrid.CellStyle
you can use a data-trigger on IsBooked
to change its backgroud. (There are some other alternatives besides DataTriggers
, but if you just have one boolean conditional i find them to be quite convenient.)
回答2:
change background of specific cell by code :
DataGridRow firstRow = dataGrid1.ItemContainerGenerator.ContainerFromItem(dataGrid1.Items[0]) as DataGridRow;
DataGridCell firstColumnInFirstRow = dataGrid1.Columns[0].GetCellContent(firstRow).Parent as DataGridCell;
//set background
firstColumnInFirstRow.Background = Brushes.Red;
来源:https://stackoverflow.com/questions/16189717/how-to-change-single-cell-color-of-datagrid-in-wpf