我在WPF中开发了一个屏幕键盘。我需要抓住钥匙 按下事件(通过键盘)以跟踪Caps Lock,Shift 等(是否被按下)。 请注意,我的应用程序在任何其他应用程序时失去了重点 (说记事本)打开了。
有人建议如何在WPF中实现这一目标吗? 简而言之,我的WPF应用程序甚至需要捕获关键的新闻事件 虽然它没有焦点。请帮助。
答案 0 :(得分:0)
我使用了一个简单的代码:
在xaml中,我使用名为MyTestKey的KeyDown事件。
<Window x:Class="MyApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
KeyDown="myTestKey" >
这就是我检查数字1时的keydown例程:
private void myTestKey(object sender, KeyEventArgs e)
{
if ((e.Key == Key.D1) || (e.Key == Key.NumPad1))
{
//do some stuff here
return;
}
}
这是获取任何密钥的简便方法。我希望这会有所帮助。
答案 1 :(得分:0)
这对我有帮助:Disable WPF Window Focus
这与您的问题不完全相同,他正试图抓住一个事件而没有集中注意力,但这是一个很好的起点