我一直在寻找一段时间,但似乎无法找到答案..
我有一个条形码扫描仪连接到我的计算机上,它充当键盘楔。扫描仪设置为向我发送 StartOfTransmission 和 EndofTransmission 字符,以便我知道处理中间的所有键并执行一些操作。
在我的应用程序的外壳中,我有以下代码......
private void Window_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
e.Handled = BarcodeScanner.Instance.ProcessTextInput(this, e.Text, e.Device, e.Timestamp);
}
如果我专注于主窗口或不处理空格(标签等)的控件,这将非常有用
我遇到的问题是条形码(不受我控制)中有空格。如果键盘焦点在文本框或按钮中,则空格会记录在该控件中(即,如果按钮会导致单击)并且不会通过我的 Shell.xaml 中的 PreviewTextInput
我想做以下其中一项
- 如何使Shell预览这些字符而不是焦点控件
- 一旦我得到 StartOfTransmission,将焦点移到我的 Shell,然后在 EndOfTransmission 之后,将焦点设置回控件
- 或者其他我不知道的方式