【发布时间】:2016-09-01 03:01:52
【问题描述】:
我在 Wpf 中使用 DataGrid 并按如下方式绑定数据:
datagridEx.ItemsSource = tblEx.AsDataView();
现在我有一个处理一些逻辑的函数,然后返回一个 DataRow 列表。 我想为这些行设置背景
public void HighlightRows(IEnumerable<DataRow> rows, DataGrid grid)
{
foreach(var row in rows)
{
DataGridRow dgr = grid.ItemContainerGenerator.ContainerFromItem(row) as DataGridRow;
if (dgr != null)
{
dgr.Background = Brushes.LightBlue;
}
}
}
但我总是收到 dgr 的空引用指针。我意识到 DataRow 已转换为 DataRowView,因此 DataGrid 找不到容器表示为 DataRow 项。
哪个好的解决方案可以帮助我?
【问题讨论】: