Получить аргументы событий в представлении модели wpf-программы

У меня есть программа, в которой мне нужно получить доступ к символам, набранным с клавиатуры, в модель представления. Я легко могу получить KeyEventArgs в коде, используя метод KeyUp, но как мне получить к нему доступ во ViewModel? Пожалуйста помоги.

1 ответ

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.
Другие вопросы по тегам