【发布时间】:2015-02-02 19:30:28
【问题描述】:
我有一个 Datagrid,并附加了一个 PreviewKeyDown 事件。
private void DataGrid_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Delete)
{
DeleteRow();
e.Handled = true;
}
}
我的问题是,每次我编辑一个单元格并尝试删除一个字母或数字时,都会调用 DeleteRow 方法。
有什么方法可以知道是否正在编辑单元格以避免调用该方法?
谢谢。
【问题讨论】:
-
我相信 DataGrid 实现了 IEditableObject,因此您应该能够在开始和结束编辑时获取事件。
-
我不确定 DataGrid 是否实现了 IEditableObject,但它肯定有
BeginningEdit和CellEditEnding事件。 -
Rick / Nadia 我开始使用BeginningEdit 和CellEditEnding 事件,并在单元格处于“编辑模式”时创建了一个标志来cpature。这为我提供了适用于我的特定情况的解决方案。谢谢!
标签: c# datagrid wpf-controls