按Escape键消防RowEditEnding事件

时间:2016-05-17 05:39:16

标签: c# wpf xaml events

当在WPF数据网格中编辑任何单元格时,如果我按Esc键退出CellEditEnding事件。相反,我想解雇RowEditEnding。

我知道当我按Esc键一次,CellEditEnding事件触发,当我第二次按Escape键时,RowEditEnding事件触发。但我不想要这种行为。我希望当我按Escape键时第一次,我想要触发RowEditEnding事件。

1 个答案:

答案 0 :(得分:3)

从MSDN网站上查看DataGridCellEditEndingEventArgsDataGridRowEditEndingEventArgs

因此,您可以构建新的EventArg并将其传递给第二种方法。

private void CellEditEnding(object sender, DataGridCellEditEndingEventArgs e) {
    DataGridRowEditEndingEventArgs arg = new DataGridRowEditEndingEventArgs(e.Row, e.EditAction);
    OnRowEditEnding(sender, arg);
}

然后

private void OnRowEditEnding(object sender, DataGridRowEditEndingEventArgs e) {
    // your code
}

可能存在一些错误,因为我现在没有C# IDE。

请注意,您可以添加一些检查以区分方法调用的位置。