我正在开发一个托管在 MFC 和 VB6 应用程序中的 ActiveX 控件。
此 ActiveX 包含一个 WPF 控件,它本身由 WinForms ElementHost 托管,即:
MFC > .NET ActiveX > WinForms ElementHost > WPF 用户控件
当用户右键单击控件时,他必须能够使用键盘箭头键在上下文菜单中导航。
如果右键单击时我的控件具有焦点,则一切正常。
但是如果当用户右键单击时焦点在宿主应用程序中,则键盘事件会继续发送到宿主 MFC 应用程序。
当我检测到右键单击时,我尝试在我的 WPF 控件上调用 Focus() 方法,但它不起作用。
有人有想法吗?
谢谢。