2

阶段图 我想在运行时更改此网格的特定单元格的背景颜色(显示预定座位)。我正在从窗口加载事件的数据表中绑定此网格。我有一个座位记录,如“A33”。我的绑定代码就像这个。

MySqlConnection mycon = new MySqlConnection(str);
mycon.Open();
MySqlDataAdapter da = new MySqlDataAdapter("select * from Stage", mycon);
da.Fill(dt);
MyGrid.ItemsSource = dt.DefaultView;
4

2 回答 2

5

通过代码更改特定单元格的背景:

   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;
于 2013-04-24T12:43:07.180 回答
5

您的单元格数据应该有一个属性IsBooked,然后DataGrid.CellStyle您可以在其中使用数据触发器IsBooked来更改其背景。(除此之外还有其他一些选择DataTriggers,但如果你只有一个布尔条件,我发现它们非常方便。)

于 2013-04-24T15:41:21.343 回答