【发布时间】:2011-04-29 13:36:41
【问题描述】:
我有基于 WPF 4 桌面的应用程序。在此应用程序的一个窗口中,我有 DataGrid 与数据,与 SQL Server 数据库绑定(通过 ADO.NET 实体框架)。为了操作数据,我有一个删除按钮,它从DataGrid 中删除选定的行并调用SaveChanges() 方法。
现在我想添加对键盘操作的支持,例如我想让用户通过选择并单击删除键盘按钮来删除该行。
如果我在窗口 XAML 中设置 CanUserDeleteRows="True",它会删除选定的行但不会提交到数据库,换句话说,它不会调用 SaveChanges() 方法。
我尝试将keyDown 事件处理程序添加到DataGrid 一个检查if (e.Key == Key.Delete),因此运行删除选定行的remove 方法并调用SaveChanges() 方法,但它不起作用。
我的问题是如何将键盘事件处理程序添加到DataGrid,这将允许删除选定的行并调用SaveChanges() 方法,或者只运行我自己的方法,处理从DataGrid 删除行并提交到数据库.
当然,如果您对我的问题有任何其他想法,请随时提出建议。
【问题讨论】:
标签: c# wpf xaml datagrid keyboard