Как пометить клавишу F10 как обработанную в CefSharp для WPF? - PullRequest
0 голосов
/ 11 января 2019

У меня есть вопрос, связанный с обработкой ключей в CefSharp для WPF. Я реализовал интерфейс IKeyboardHandler, и мой ChromiumWebBrowser использует его как KeyboardHandler. Основная логика в методе OnPreKeyEvent, где я возвращаю true, если мой ключ был обработан, иначе false.

Проблема заключается в том, что при нажатии клавиши F10 экран теряет фокус, поскольку клавиша F10 является системной клавишей и переключает меню Windows. Как я мог сообщить, что CefSharp не передает F10 в ОС для обработки, чтобы мой экран оставался в фокусе?

В стандартном WPF был бы e.Handled, который я мог бы установить в true, но в этом случае его нет (хотя на основании документации возвращаемое значение делает это).

1 Ответ

0 голосов
/ 14 января 2019

Как сказал Алекс Мейтланд, способ сделать это - наследовать от ChromiumWebBrowser и переопределить методы OnPreviewKeyUp и OnPreviewKeyDown. Там вы можете пометить KeyEventArgs как обработанные. В этом случае наследование от IKeyboardHandler не требуется.

...