wpf MVVM如何处理键盘模拟器中的按键



我有一个应用程序,我写在c#/winforms,基本上是一个键盘模拟器,捕获所有键盘事件,传递键事件到另一个程序,然后该程序将其发送回我的应用程序显示..我用它来测试我的ICE通信…不管怎样. .非常简单。我最近一直在阅读MVVM,并决定在MVVM模式下重写我的键盘模拟器程序。接收数据并通过modelview将其绑定到视图非常简单。我不确定的是哪里的逻辑去捕捉按键事件去?我最初的想法是仍然在后面的代码中捕获事件,并将关键代码传递给视图模型,然后谁将数据发送给模型?然而,我认为这不会遵循MVVM模式,这可能是正确的。MVVM的方法是什么呢?

试试:http://msdn.microsoft.com/en-us/library/system.windows.input.inputbinding.aspx

我们曾经在键绑定中使用它

我不相信你所说的违反了MVVM模式。在MVVM中,您尽量避免将不属于视图的代码放入视图中。

在MVVM中,视图的责任是(我可能过于简化):

  • 显示UI
  • 接收用户输入并操作视图模型。

因此,在后台代码中有一些东西可以捕获视图的关键输入,然后将其传递给视图模型,这似乎是完全合乎逻辑的。

如果@Howard的建议对绑定做了同样的事情,那么它也可以工作。

最新更新