在wpf程序的视图模型中获取事件参数

时间:2014-12-02 03:53:41

标签: wpf mvvm keyboard-events wpf-4.0 mvvm-toolkit

我有一个程序,我需要从键盘输入到视图模型中的字符。我可以使用KeyUp方法轻松获取后面代码中的KeyEventArgs,但是如何在ViewModel中访问它?请帮忙。

1 个答案:

答案 0 :(得分:0)

You need the following to pass keyEventArgs to viewmodel

1. Interaction triggers in xaml because native input binding don't support keyeventargs
<textblock>
<i:interactiontriggers>
<i:action eventname ="keyup">
<multibinding command={binding somecommand, converter={staticresource eventconverter}}">
<binding ...>
<binding...>
</multibing>
</i:action>
</i:interactiontriggers>
</textblock>

2  Create a custom command  (example, relay command) where you can initialize the command like below in viewmodel

var cmd = SomeCommand;
Customcommand c = new RelayCommand<KeyEventArgs>(cmd.Execute, cmd.CanExecute);

3. In the command action, you can access the mouseeventargs or keyeventargs.

If you look up more, you'll get an idea.