我的应用程序的用户有第二个带有特殊功能键的键盘。不幸的是,按键映射到 F、G、F1 等按钮。我想处理 PreviewKeyDown 并防止这些键盘上的任何键对普通控件(例如 TextBoxes)产生影响。
在 WPF 中,有没有办法确定哪个键盘引发了事件?
不,这不可能直接在 WPF 中。
使用 System.Windows.Input 您可以通过捕获在您的代码中触发的事件来实现此目的。下面的示例代码显示了如何在 Textbox 中完成此操作。
private void SampleTextbox_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Delete) // delete key is pressed
{
e.Handled = true; // Ignore key press
}
}