如何将 F10 键标记为在 CefSharp for WPF 中处理?

How to mark F10 key as handled in CefSharp for WPF?

我有一个与 WPF 的 CefSharp 中的键处理相关的问题。我实现了 IKeyboardHandler 接口,我的 ChromiumWebBrowser 将它用作 KeyboardHandler。主要逻辑在 OnPreKeyEvent 方法中,如果我的密钥被处理,我 return 为真,否则为假。

问题是如果按下 F10 键,屏幕会失去焦点,因为 F10 是系统键并切换 Windows 菜单。我怎样才能让 CefSharp 知道不要将 F10 中继到 OS 进行处理,以便我的屏幕保持焦点?

在标准 WPF 中会有一个 e.Handled 我可以设置为 true,但在这种情况下有 none(根据文档,return 值会这样做) .

正如 Alex Maitland 所说,这样做的方法是继承 ChromiumWebBrowser 并重写 OnPreviewKeyUp 和 OnPreviewKeyDown 方法。在那里,您可以将 KeyEventArgs 标记为已处理。在这种情况下,不需要从 IKeyboardHandler 继承。