WPF MVVM EventToCommand.cs не найден

Я использую WPF MVVM Light для одного из моих приложений. Я обнаружил ошибку при отладке своего кода: «EventToCommand.cs не найден» в команде, загруженной в окно.

Мой код:

   xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
   xmlns:command="http://www.galasoft.ch/mvvmlight"

  <i:Interaction.Triggers>
    <i:EventTrigger EventName="Closing" >
        <command:EventToCommand Command="{Binding WindowCloseCommand}" PassEventArgsToCommand="True"  />
    </i:EventTrigger>
    <i:EventTrigger EventName="Loaded" >
        <command:EventToCommand Command="{Binding WindowLoadedCommand}" CommandParameter="{Binding RelativeSource={RelativeSource AncestorType={x:Type Window},Mode=FindAncestor}}" />
    </i:EventTrigger>
</i:Interaction.Triggers>

В представлении модели:

  public ICommand WindowLoadedCommand
    {
        get { return _windowLoadedCommand ?? (_windowLoadedCommand = new RelayCommand<MetroWindow>(OnWindowLoaded)); }
    }

  public void OnWindowLoaded(MetroWindow window)
  {

  }

Пожалуйста, помогите мне найти решение этой проблемы.


person Dharmesh    schedule 09.07.2015    source источник
comment
Каковы значения пространств имен i и command?   -  person Sridhar    schedule 09.07.2015
comment
xmlns:i=clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity xmlns:command=galasoft .ch/mvvmlight   -  person Dharmesh    schedule 09.07.2015
comment
Похоже у кого-то была похожая проблема. Здесь есть решение. Посмотрите, работает ли это. stackoverflow.com/ вопросы/14301527/   -  person Sridhar    schedule 09.07.2015
comment
Вам нужно узнать, как WPF отображает пространства имен. Это clr-namespace: stuff — это не просто карго-культ, это необходимо. Вот один из моих ответов с некоторыми подробностями о том, как это работает. .com/questions/8852912/xamlparseexception-in-view/   -  person    schedule 09.07.2015


Ответы (1)


У меня была такая же проблема, и это решило ее для меня:

xmlns:Command="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Platform"

<i:Interaction.Triggers>
    <i:EventTrigger EventName="Tap" >                
        <Command:EventToCommand  Command="{Binding Path=MyVM.MyCommand, Source={StaticResource Locator}}" 
                                 PassEventArgsToCommand="False"    
                                 CommandParameter="{Binding}"/>
    </i:EventTrigger>
</i:Interaction.Triggers>
person D.Rosado    schedule 09.07.2015