WP71 MVVMLight EventTrigger не распознается - PullRequest
3 голосов
/ 26 мая 2011

Следуя руководству по обновлению Лорана http://www.galasoft.ch/mvvm/installing/mangobeta/, чтобы перейти от существующего проекта MVVMLight WP7 к проекту WP71.Я полностью изменил ссылки и пространства имен.Но EventTrigger не распознается в XAML

xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
    <i:Interaction.Triggers>

        <i:EventTrigger EventName="Loaded">
            <cmd:EventToCommand 
                Command="{Binding Mode=OneWay, Path=LoadedCommand}"
                 PassEventArgsToCommand="True" />
        </i:EventTrigger>
    </i:Interaction.Triggers>

Я получаю сообщение об ошибке элемента EventTrigger.

Изменилось ли оно?

Ответы [ 3 ]

2 голосов
/ 13 июля 2011

У меня была точно такая же проблема, когда я обновлял свое приложение с WP7 до WP7.1 (Mango).Проблема была в MVVM Light Binaries.Вам необходимо выполнить обновление до бинарных файлов WP7.1.

Лоран Буньон (https://stackoverflow.com/users/12233/lbugnion) объясняет, как обновить бинарные файлы MVVM Light на своем веб-сайте здесь: http://www.galasoft.ch/mvvm/installing/mangobeta/

ЭтиВот основные шаги, которые я использовал для решения своей проблемы:

  • Загрузите самую последнюю версию здесь .

  • Открытьи скомпилируйте проект WP71.

  • Скопируйте двоичные файлы в ваше двоичное местоположение MVVM (в моем случае C: \ Program Files \ Laurent Bugnion (GalaSoft) \ Mvvm Light Toolkit \ Binaries)

  • Откройте проект

  • В папке «Ссылки» удалите GalaSoft.MvvmLight, GalaSoft.MvvmLight.Extras и System.Windows.Interactivity.

  • Добавьте новые ссылки из папки C: \ Program Files \ Laurent Bugnion (GalaSoft) \ Mvvm Light Toolkit \ Binaries \ WP71.

1 голос
/ 28 мая 2011

У меня была похожая проблема после обновления до Mango.В моем случае у меня была привязка EventToCommand по щелчку MenuItem, но, похоже, она есть у какого-то загруженного события.Вы можете попробовать использовать анонимный делегат в загруженном evcent из code-bhind представления.Т.е.:

this.Loaded+=(s,e)=>ViewModel.LoadedCommand.Execute(null);

В моем случае я изменился с:

<tk:MenuItem Header="Delete Snapshot" >
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="Click">
            <mvvmLight:EventToCommand Command="{Binding DeleteSnapshotCommand, Mode=OneWay}" CommandParameter="{Binding SelectedItem,ElementName=lstSnapshots}" />
        </i:EventTrigger>
    </i:Interaction.Triggers>
</tk:MenuItem>

на

<tk:MenuItem Header="Delete Snapshot" Command="{Binding DeleteSnapshotCommand, Mode=OneWay}" CommandParameter="{Binding SelectedItem,ElementName=lstSnapshots}" />
0 голосов
/ 29 мая 2011

Я перешел от этой проблемы, вернувшись к среде, предшествующей манго. Не решение, которое я хотел, но - вперед и назад.

...