0

我正在为我的 WPF 应用程序使用 MVVM Light 工具包,我想知道在使用 EventToCommand 时是否可以将多个参数传递给 RelayCommand 以及是否可以传递 EventArgs 的属性而不是传递整个 EventArgs ?

问候, 纳比尔

4

2 回答 2

3

what if the scenario is

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

what is on enter key press i need to read the text from the textbox and perform search.

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


                                                         }
                                                     });

using this I can filter which key has been pressed but how to get that parameter if enter key is pressed in this mvvmlight.

于 2010-09-07T11:39:31.113 回答
2

如果您只想捕获回车键按下,您可以通过 InputBinding 创建一个 KeyBinding。XAML 中的以下示例将捕获 TextBox 中的 Enter 键按下,并且命令(在本例中为 FindCommand)将在您的 ViewModel 中处理它。

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

为我工作!

于 2012-04-25T15:27:34.400 回答