我正在尝试根据索引从我的DataGrid
中获取DataGridRow
。 我正在使用以下代码:
public DataGridRow GetGridRow(int index)
{
DataGridRow row = (DataGridRow)DG_Statement.ItemContainerGenerator.ContainerFromIndex(index);
if (row == null)
{
// May be virtualized, bring into view and try again.
DG_Statement.UpdateLayout();
DG_Statement.ScrollIntoView(DG_Statement.Items[index]);
row = (DataGridRow)DG_Statement.ItemContainerGenerator.ContainerFromIndex(index);
}
return row;
}
参考链接 - 获取数据网格中的行
不幸的是,它返回了一个DataGridRow
的空对象。
如果我检查我的网格的Items[]
属性,我可以看到13个项目。
需要建议如何获得数据网格的行,因为我想更改数据网格中前两行和后两行的颜色。
感谢任何帮助!
添加数据网格项目屏幕截图
重要更新
如果我在数据网格的SelectedIndexChanged事件中调用GetGridRow(),它将无误地工作。
另一方面,如果我在构造页面对象后调用它,它将返回空的行对象。