我试图DataGridRow从我DataGrid的索引中获取.我使用以下代码:
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;
}
Run Code Online (Sandbox Code Playgroud)
参考链接 - 获取数据网格中的行
但不幸的是它返回了一个null对象DataGridRow.如果我检查Items[]我的网格的属性,我可以看到13项.
需要建议如何获取网格行,因为我想要更改数据网格的前2行和后2行的颜色.
任何帮助表示赞赏.谢谢!!
添加DataGrid项的屏幕截图

重要更新
如果我从Grid的SelectedIndexChanged事件中调用GetGridRow(),它可以完美地工作.
另一方面,如果我在构造显示网格的页面的对象之后调用它,则将行对象返回为NULL.
所以如果它在代码背后.您只需获取DataGrid的选定索引即可.我已将datagrid dataGrid命名为示例.
var rowIndex = dataGrid.SelectedIndex;
var row = (DataGridRow)dataGrid.ItemContainerGenerator.ContainerFromIndex(selectedIndex);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16251 次 |
| 最近记录: |