我想在运行时更改此网格的特定单元格的背景颜色(显示已预订的座位)。我从窗口加载的event.i上的数据表绑定此网格有一个像'A33'的席位记录。我的绑定代码就像此
MySqlConnection mycon = new MySqlConnection(str);
mycon.Open();
MySqlDataAdapter da = new MySqlDataAdapter("select * from Stage", mycon);
da.Fill(dt);
MyGrid.ItemsSource = dt.DefaultView;
答案 0 :(得分:5)
您的单元格数据应具有属性IsBooked
,然后在DataGrid.CellStyle
中,您可以使用IsBooked
上的数据触发器来更改其背景。 (除了DataTriggers
之外还有some other alternatives,但是如果你只有一个布尔条件,我发现它们非常方便。)
答案 1 :(得分:4)
通过代码更改特定单元格的背景:
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;