在我的WPF Datagrid中,我捕获了“删除”键,对其进行处理,然后Datagrid本身通过继续处理其自己的“删除”键处理程序(这正是我想要的)从UI中删除行。
但是现在我想让CTRL-S打开搜索栏,它确实可以,但它还会继续清除用户按下CTRL-S时所在的单元格,因此我正在寻找一种方法告诉Datagrid取消按键操作,以便它不会在Datagrid上执行。
我该如何取消这样的按键操作? XAML:
但是现在我想让CTRL-S打开搜索栏,它确实可以,但它还会继续清除用户按下CTRL-S时所在的单元格,因此我正在寻找一种方法告诉Datagrid取消按键操作,以便它不会在Datagrid上执行。
我该如何取消这样的按键操作? XAML:
<toolkit:DataGrid x:Name="TheDataGrid" DockPanel.Dock="Bottom"
CanUserAddRows="False"
AlternatingRowBackground="#ddd"
CanUserSortColumns="true"
PreviewKeyDown="TheDataGrid_PreviewKeyDown"
AutoGenerateColumns="False"
RowEditEnding="TheDataGrid_RowEditEnding">
代码后台:
private void TheDataGrid_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (Keyboard.IsKeyDown(Key.LeftCtrl) && Keyboard.IsKeyDown(Key.S))
{
ShowSearchBar();
}
switch (e.Key)
{
case Key.Delete:
DeleteCustomer(sender, e);
break;
}
}