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)