我有一个用C#/ winforms编写的应用程序,它基本上是一个键盘模拟器,捕获所有键盘事件,将键事件传递给另一个程序,然后该程序将其发送回我的应用程序以显示..我是用它来测试我的ICE通信..反正..非常直接。我最近一直在阅读MVVM,并决定在mvvm模式中重写我的键盘模拟器程序。通过模型视图接收数据并将其绑定到视图非常简单。我不确定的是捕获按键事件的逻辑在哪里?我最初的想法是仍然在后面的代码中捕获事件并将密钥代码传递给viewmodel,然后viewmodel将数据发送到模型?但是,我可能认为这不符合MVVM模式。什么是MVVM方法?
答案 0 :(得分:0)
试试这个:http://msdn.microsoft.com/en-us/library/system.windows.input.inputbinding.aspx
我们曾经在密钥绑定中使用它。
答案 1 :(得分:0)
我不相信你所说的违反MVVM模式。在MVVM中,您尝试避免将代码放入不属于视图的视图中。
在MVVM中,视图的责任是(我可能过度简化):
因此,在代码隐藏中使用捕获视图的键输入然后将其传递给视图模型的内容似乎是完全符合逻辑的。
如果@Howard
的建议对绑定做了同样的事情,那么这也有效。