【发布时间】:2015-10-05 16:22:53
【问题描述】:
我想修改数据网格单元格的背景,但只有行标题值和列标题值信息可用。
我已尝试在以下链接中实施该方法,但没有任何效果。
如何使用Row Header和Column Header值获取数据网格单元格对象?
【问题讨论】:
标签: wpf wpf-controls wpfdatagrid
我想修改数据网格单元格的背景,但只有行标题值和列标题值信息可用。
我已尝试在以下链接中实施该方法,但没有任何效果。
如何使用Row Header和Column Header值获取数据网格单元格对象?
【问题讨论】:
标签: wpf wpf-controls wpfdatagrid
您可以通过多种方式到达 DataGridCell。例如;通过用鼠标单击单元格,或使用行索引和列索引或其他方式。
1> 如果单击单元格,则必须向上遍历可视化树。并使用以下方法:
DETECTING THE COLUMN, CELL AND ROW THAT HAS BEEN CLICKED.
2>您可以使用以下方法:
object item = dgrdInvoice.CurrentCell.Item;
DataGridRow row = dgrdInvoice.ItemContainerGenerator.ContainerFromIndex(0);
DataGridRow row = dgrdInvoice.ItemContainerGenerator.ContainerFromItem(item);
dgrdInvoice.CurrentColumn.GetCellContent(row);
注意:方法因您的特定情况而异。由于查找单元格一般需要视觉树遍历。
3> 对于所有其他一般情况,您可以参考这里: Programmatically Selecting and Focusing a Row or Cell in a DataGrid
【讨论】: