【问题标题】:How to understand CurrentCell is in edit mode or not in WPF DataGrid?如何理解 CurrentCell 在 WPF DataGrid 中是否处于编辑模式?
【发布时间】:2020-12-06 14:56:44
【问题描述】:

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

【问题讨论】:

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

标签: wpf datagrid


【解决方案1】:

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

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)
...

【讨论】:

    猜你喜欢
    • 2011-03-17
    • 2013-08-17
    • 2023-04-10
    • 2011-06-20
    • 2013-02-08
    • 2011-10-19
    • 1970-01-01
    • 2014-03-26
    • 1970-01-01
    相关资源
    最近更新 更多