好吧,我不知道我理解這應該如何工作,但在我的應用程序中,我綁定了一個關鍵手勢(Ctrl + K)到RoutedCommand。無論我在哪裏關注我的應用程序,該鍵組合都可以工作,除非我在包含Web瀏覽器控件的WindowsFormsHost中使用它。我嘗試捕獲Web瀏覽器控件的PreviewKeyDown事件並將IsInputKey設置爲false。理論上,這應該使主持人考慮未處理的關鍵手勢並向上發送,但這不會發生。WPF WindowsFormsHost不會冒泡未處理的關鍵手勢
UPDATE:
如果我重寫控件的布爾IsInputKey(鍵KEYDATA)並返回false,它的工作原理和命令獲取,因爲它應該執行。
也許我處理PreviewKeyDown的方式有問題嗎?
private void browser_PreviewKeyDown (object sender, PreviewKeyDownEventArgs e)
{
e.IsInputKey = false;
}
我希望這可以讓我從我的主窗口捕獲任何組合鍵。我寧願解決這個事件處理比擴展控件...