我正在为我的WPF应用程序使用MVVM Light工具包,我想知道在使用EventToCommand时是否可以将多个参数传递给RelayCommand并且是否可以传递EventArgs的属性而不是传递整个EventArgs? / p>
此致 纳比尔
答案 0 :(得分:2)
如果方案是
,该怎么办? <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中按下回车键,如何获取该参数。
答案 1 :(得分:2)
如果你要做的就是按住回车键,你可以通过InputBinding创建一个KeyBinding。 XAML中的以下示例将捕获TextBox中的Enter键,在这种情况下,Command,FindCommand将在ViewModel中处理它。
<TextBox Width="80">
<TextBox.InputBindings>
<KeyBinding Key="Enter" Command="{Binding FindCommand}" />
</TextBox.InputBindings>
</TextBox>
为我工作!