Wpf 如何理解CurrentCell是否处于编辑模式?

Wpf 如何理解CurrentCell是否处于编辑模式?,wpf,datagrid,Wpf,Datagrid,我正在创建自定义的DataGrid。当我按下键盘时,我想了解CurrentCell是否处于编辑模式。我知道如何处理KeyDown事件。我找到并邮寄了。那里的解决方案无助于解决我的问题。我找不到更好的方法来确定CurrentCell是否处于编辑模式。我怎样才能做到这一点?有什么解决方案吗?您可以处理beginingedit和CellEditEnding并使用变量跟踪当前编辑的单元格: private DataGridCellInfo _editedCell; private void DataG

我正在创建自定义的
DataGrid
。当我按下键盘时,我想了解
CurrentCell
是否处于编辑模式。我知道如何处理
KeyDown
事件。我找到并邮寄了。那里的解决方案无助于解决我的问题。我找不到更好的方法来确定
CurrentCell
是否处于编辑模式。我怎样才能做到这一点?有什么解决方案吗?

您可以处理
beginingedit
CellEditEnding
并使用变量跟踪当前编辑的单元格:

private DataGridCellInfo _editedCell;

private void DataGrid_BeginningEdit(object sender, DataGridBeginningEditEventArgs e)
{
    _editedCell = dataGrid.CurrentCell;
}

private void DataGrid_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
{
    _editedCell = default(DataGridCellInfo);
}
然后,可以使用该变量检查单元格当前是否处于编辑模式:

if (dataGrid.CurrentCell == _editedCell)
...

你能详细解释一下为什么这两个链接的解决方案都不能解决你的问题吗?我正在处理成千上万行的数据网格。那里的解决方案有额外的控制结构,有些还有循环。因此,当我运行应用程序时,检查其中一个单元格是否处于编辑模式就像一个死亡陷阱。我需要一个我找不到的更好的解决方案。