Ok, tôi không chắc mình hiểu cách thức này sẽ hoạt động, nhưng trong ứng dụng của tôi, tôi đã chặn một cử chỉ chính (Ctrl + K) thành RoutedCommand. Không có vấn đề mà tôi tập trung vào ứng dụng của tôi, tổ hợp phím hoạt động, ngoại trừ nếu tôi sử dụng nó bên trong một WindowsFormsHost có chứa một điều khiển trình duyệt web. Tôi đã thử chụp sự kiện PreviewKeyDown để kiểm soát trình duyệt web và thiết lập IsInputKey thành false. Điều này, theo lý thuyết, khiến cho Chủ nhà xem xét các cử chỉ quan trọng không được điều trị và gửi nó lên trên, nhưng điều đó không xảy ra.WPF WindowsFormsHost không bong bóng lên các cử chỉ chính không được xử lý
UPDATE:
Nếu tôi ghi đè của kiểm soát bool IsInputKey (Keys keyData) và trả về false, nó hoạt động và các lệnh được thực hiện như mong muốn.
Có thể có điều gì đó sai trái trong cách tôi xử lý PreviewKeyDown?
private void browser_PreviewKeyDown (object sender, PreviewKeyDownEventArgs e)
{
e.IsInputKey = false;
}
Tôi mong đợi điều này cho phép tôi chụp bất kỳ tổ hợp phím nào từ cửa sổ chính của mình. Tôi muốn sửa lỗi này với xử lý sự kiện hơn là mở rộng điều khiển ...