如何从代码后面修改数据网格单元格返回地面?

时间:2015-10-05 16:22:54

标签: wpf wpf-controls wpfdatagrid

我想修改数据网格单元格的背景,但只有行标题值和列标题值可用。

我试图在下面的链接中实现该方法,但没有任何效果。

https://social.msdn.microsoft.com/Forums/vstudio/en-US/63974f4f-d9ee-45af-8499-42f29cbc22ae/grabing-controls-from-a-datagrid?forum=wpf

如何使用行标题和列标题值获取数据网格单元格对象。?

1 个答案:

答案 0 :(得分:0)

您可以通过多种方式访问​​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