我正在开发WPF触摸应用程序的屏幕上的数字键盘。这将出现在Popup
中。当按下按钮时,它应该向应用程序发送按键,使其看起来好像用户正在输入TextBox
。这是我的代码:在WPF中模拟按键
// 'key' is set beforehand
InputManager.Current.ProcessInput(new KeyEventArgs(Keyboard.PrimaryDevice, Keyboard.PrimaryDevice.ActiveSource, Environment.TickCount, key) { RoutedEvent = Control.KeyDownEvent });
这是在Button.Click
事件处理程序中调用的。
到目前为止,只有Key.Back
工作过。没有任何数字键可以工作,也没有Key.Decimal
。
编辑:我想用SendKeys
可以解决这个问题,但它只是做同样的事情。
为什么我的数字按钮的工作?我已经验证了正确的Key
正在通过。
数字键盘上的按键可能与顶部行有不同的键。这是一个未经测试的评论 - 不是答案。 – Paparazzi 2012-02-27 17:21:59
@BalamBalam:顶部行和数字键都不能与代码一起使用。两者都在物理键盘上工作。 – 2012-02-27 17:27:16
这听起来像是一种迂回的实现方式。你能不能在第三方助手类中实现所有的按键功能,并获得弹出键盘或键盘输入? – 2012-02-27 17:31:57