在WPF中,如何在使用PreviewKeyDown处理后取消按键?

Edw*_*uay 4 wpf events xaml

在我的WPF Datagrid中,我捕获"删除"键,处理它,然后datagrid本身通过继续处理自己的删除键处理程序(这是我想要的)从UI中删除该行.

但是现在我想让CTRL-S打开一个搜索栏,但它也会在按下CTRL-S时将用户所在的单元格空白,所以我正在寻找一种方法来告诉数据网格取消按键,使其不在Datagrid上执行.

如何取消这样的按键?

XAML:

<toolkit:DataGrid x:Name="TheDataGrid" DockPanel.Dock="Bottom"
                  CanUserAddRows="False"
                  AlternatingRowBackground="#ddd"
                  CanUserSortColumns="true"
                  PreviewKeyDown="TheDataGrid_PreviewKeyDown"
                  AutoGenerateColumns="False"
                  RowEditEnding="TheDataGrid_RowEditEnding">
Run Code Online (Sandbox Code Playgroud)

后台代码:

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;
    }
}
Run Code Online (Sandbox Code Playgroud)