Mik*_* B. 4 c# keyboard wpf xaml datagrid
我有基于桌面的WPF 4应用程序.在这个应用程序的一个窗口中,我有DataGrid数据,与SQL Server数据库绑定(通过ADO.NET实体框架).为了操作数据,我有一个删除按钮,删除选定的行DataGrid和调用SaveChanges()方法.
现在我想添加对键盘操作的支持,例如我想让用户通过选择并单击Delete keyboard按钮来删除该行.
如果我CanUserDeleteRows="True"在窗口XAML中设置,它会删除所选行,但不会提交数据库,换句话说,它不会调用SaveChanges()方法.
我试图将keyDown事件处理程序添加到DataGrid检查中if (e.Key == Key.Delete),因此运行删除所选行和调用SaveChanges()方法的remove 方法,但它不起作用.
我的问题是如何添加键盘事件处理程序DataGrid将删除选定的行和调用SaveChanges()方法或只运行我自己的方法,处理行删除DataGrid和提交DB.
当然,如果您对我的问题有任何其他想法,请随时提出建议.
您是否尝试过使用PreviewKeyDown事件?像这样的东西
<DataGrid x:Name="dataGrid" PreviewKeyDown="dataGrid_PreviewKeyDown">
private void dataGrid_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Delete)
{
var dataGrid = (DataGrid)sender;
// dataGrid.SelectedItems will be deleted...
//...
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15449 次 |
| 最近记录: |