В моей таблице данных WPF я собираю ключ «delete», обрабатываю его, а затем сама таблица данных удаляет строку из пользовательского интерфейса, продолжая обрабатывать собственный обработчик для ключа удаления (что я и хочу).
Но теперь я хочу, чтобы CTRL-S открывал строку поиска , что и происходит, но он также убирает ячейку, в которой находился пользователь, когда он нажимал CTRL-S, поэтому ищу способ сообщить сетке данных об отмене нажатия клавиши , чтобы она не выполнялась в сетке данных.
Как я могу отменить нажатие клавиши, как это?
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;
}
}