Intellisense不适用于MVVM light toolkit

时间:2011-11-15 05:15:05

标签: c# wpf mvvm-toolkit

我昨天开始使用MVVM模式。但是为了处理我需要安装MVVM光工具包的事件。我做了那个,并添加了库来引用。在UserControl我宣布了库,但是当我想使用工具包无论我写它没有显示任何建议,也不接受我想写的内容并显示此错误“类型'EventToCommand'的值无法添加到'TriggerActionCollection'类型的集合或字典中”

<EventTrigger RoutedEvent="TextChanged">
   <mvvm:EventToCommand Command="{Binding Test}"/>
</EventTrigger>

`

1 个答案:

答案 0 :(得分:4)

你必须像这样使用..

要添加的命名空间:
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)