KeyEventArgs e = new KeyEventArgs(Keyboard.PrimaryDevice, Keyboard.PrimaryDevice.ActiveSource, 0, keyData);
Keyboard.PrimaryDevice.ActiveSource が null で、プログラムが動作を停止します。私も試しました:
MainWindow mw = new MainWindow();
System.Windows.PresentationSource source = System.Windows.PresentationSource.FromVisual(mw);
KeyEventArgs e = new KeyEventArgs(Keyboard.PrimaryDevice, source, 0, keyData);
しかし、まだ null です。コードが別のファイル クラスにあるため、mw をこれに置き換えることはできません。
他のウィンドウからキーボードをキャッチしようとしています。コードは、プログラムの現在アクティブなウィンドウでキーボードをキャッチした場合にのみ機能します。
何か案が?