Intellisense не работает для легкого инструментария MVVM

Вчера я начал использовать шаблон MVVM. Но для работы с событиями мне нужно было установить легкий инструментарий MVVM. Я сделал это и добавил библиотеку к ссылкам. В UserControl я объявил об этой библиотеке, но когда я хочу использовать инструментарий, что бы я ни написал, он этого не делает. показывать любые предложения и не принимает то, что я хочу написать, и показывает эту ошибку "Невозможно добавить значение типа" EventToCommand "в коллекцию или словарь типа" TriggerActionCollection ""

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

`

1 ответ

Решение

Вы должны использовать это так..

Пространство имен для добавления:
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)
Другие вопросы по тегам