我使用以下代码以编程方式在WPF中生成keypressed事件:
new KeyEventArgs(Keyboard.PrimaryDevice,
Keyboard.PrimaryDevice.ActiveSource,
0, args.Key)
{
RoutedEvent = Keyboard.KeyDownEvent
}
其中args.Key是我的WPF用户控件的KeyUphandler的参数。
此外,我尝试使用KeyInterop.VirtualKeyFromKey方法将此WPF密钥转换为Win32虚拟密钥,如下所示:
var keyData = (Keys)KeyInterop.VirtualKeyFromKey(e.Key == Key.System ? e.SystemKey : e.Key);
此方法适用于普通键,但它不适用于F10键(我得到keydata为F10的无)。 任何帮助都会很棒。