Как передать несколько параметров и свойств EventArgs при использовании EventToCommand в наборе инструментов MVVM-Light - PullRequest
0 голосов
/ 19 августа 2010

Я использую набор инструментов MVVM Light для своего приложения WPF и хотел бы знать, возможно ли при использовании EventToCommand передавать несколько параметров в RelayCommand и возможно ли передавать свойства EventArgs вместо передачи всего EventArgs?

С уважением, Набиль

Ответы [ 2 ]

2 голосов
/ 25 апреля 2012

Если все, что вы хотите сделать, это зафиксировать нажатие клавиши ввода, вы можете создать связывание клавиш через InputBinding. В следующем примере в XAML будет зафиксировано нажатие клавиши Enter в TextBox, а команда, в данном случае FindCommand, обработает ее в вашей модели представления.

<TextBox Width="80">
     <TextBox.InputBindings>
          <KeyBinding Key="Enter" Command="{Binding FindCommand}" />
     </TextBox.InputBindings>
</TextBox>

Работал на меня!

2 голосов
/ 07 сентября 2010

что, если сценарий

 <i:Interaction.Triggers>
                <i:EventTrigger EventName="KeyDown">
                    <cmd:EventToCommand Command="{Binding SearchKey}" PassEventArgsToCommand="True" 
                    CommandParameter="{Binding Text, ElementName=TextSearchCashDrawer}"/>
                </i:EventTrigger>
            </i:Interaction.Triggers>

, что при нажатии клавиши ввода, мне нужно прочитать текст из текстового поля и выполнить поиск.

        SearchKey=new RelayCommand<KeyEventArgs>(e=>
                                                     {
                                                         if(e.PlatformKeyCode==13) //enter key
                                                         {


                                                         }
                                                     });

с помощью этого я могу отфильтровать, какая клавиша была нажата, но как получить этот параметр, если клавиша ввода нажата в этом mvvmlight.

...