我正在使用带有WPF和Prism(统一)的MVVM模式。我有一个工具正在读取用户扫描的条形码,并且根据扫描的条形码类型,工具正在做一些事情。现在我有一个绑定到属性的文本框。我想在viewmodel中使用扫描条形码的内容填充我的属性,而不使用文本框或类似文件。我想直接填写酒店。有没有办法做到这一点?或者也许有人知道如何解决这个问题?
亲切的问候
答案 0 :(得分:1)
根据您的评论,您要做的是处理keydown事件。
请在此处阅读:code project scanner reader。他做了你想做的事,并展示了在哪里/在哪里处理:)
修改强>
我已经回答了另一个可能相关的关键事件问题。请随意查看at my other answer,讨论i:interaction
和InputBindings
,然后返回另一篇关于处理关键事件的文章:up/down on datepicker,并讨论背后的代码/ mvvm接近。
希望你会发现它们很有用。
答案 1 :(得分:0)
好吧,我不确定我是否以正确的方式获取它,但您可以使用EventManager捕获所有键盘输入。
EventManager.RegisterClassHandler(typeof(Window),
Keyboard.KeyUpEvent,new KeyEventHandler(keyUp), true);
private void keyUp(object sender, KeyEventArgs e)
{
if(e.Key == Key.OemComma)
MessageBox.Show("Gotcha");
}
另一种选择是创建一个只读文本框,但它与现在或多或少相同。