我昨天开始使用MVVM模式。但是为了处理事件,我需要安装MVVM光工具包。我这样做了,并将库添加到引用中。在UserControl我宣布,库,但当我想使用工具箱,无论我写什么,它不显示任何建议,不接受我想写的,并显示此错误"类型'EventToCommand'的值不能添加到类型'TriggerActionCollection'的集合或字典"
<EventTrigger RoutedEvent="TextChanged">
<mvvm:EventToCommand Command="{Binding Test}"/>
</EventTrigger>
"
你必须这样使用它。
要添加的命名空间:xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
<i:Interaction.Triggers>
<i:EventTrigger EventName="Loaded">
<mvvm:EventToCommand Command="{Binding Path=UserControlLoadedCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
不要忘记在你的项目中添加System.Windows.Interactivity
的引用
你需要在
使用PassEventArgsToCommand="True"
<i:Interaction.Triggers>
<i:EventTrigger EventName="Loaded">
<mvvm:EventToCommand Command="{Binding Path=UserControlLoadedCommand}" PassEventArgsToCommand="True" />
</i:EventTrigger>
</i:Interaction.Triggers>
然后你可以在ViewModel .....获得那个您可能需要使用Generic RelayCommand
作为
RelayCommand<KeyEventArgs> myCommand= new RelayCommand<KeyEventArgs>(Execute,CanExecute)