【问题标题】:How to Modify Data Grid Cell Back Ground from code behind?如何从后面的代码修改数据网格单元格背景?
【发布时间】:2015-10-05 16:22:53
【问题描述】:

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

我已尝试在以下链接中实施该方法,但没有任何效果。

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

如何使用Row Header和Column Header值获取数据网格单元格对象?

【问题讨论】:

    标签: wpf wpf-controls wpfdatagrid


    【解决方案1】:

    您可以通过多种方式到达 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-16
      • 2013-11-23
      • 1970-01-01
      • 2011-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多