Windows phone 7 未识别WP71 MVVMLight事件触发器

Windows phone 7 未识别WP71 MVVMLight事件触发器,windows-phone-7,mvvm-light,windows-phone-7.1,Windows Phone 7,Mvvm Light,Windows Phone 7.1,遵循Laurent的升级指南,从现有的MVVMLight WP7项目升级到WP71项目。我已经正确地更改了引用和名称空间。但在XAML中无法识别EventTrigger xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" <i:Interaction.Triggers> <i:EventTrigger EventName="

遵循Laurent的升级指南,从现有的MVVMLight WP7项目升级到WP71项目。我已经正确地更改了引用和名称空间。但在XAML中无法识别EventTrigger

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>
xmlns:i=“clr命名空间:System.Windows.Interactivity;assembly=System.Windows.Interactivity”
我在EventTrigger元素上得到一个错误


它变了吗?

升级到芒果后,我遇到了类似的问题。在我的例子中,我在MenuItem单击时有EventToCommand绑定,但在某种加载的事件中似乎有它。您可以尝试从视图的代码bhind在加载的evcent中使用匿名委托。即:

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>


我已经从这个问题转到了芒果开发之前的环境。
不是我想要的解决方案,而是向前和向前。当我将应用程序从WP7升级到WP7.1(Mango)时,我遇到了完全相同的问题。问题是MVVM轻型二进制文件。您需要升级到WP7.1二进制文件

Laurent Bugnon()在他的网站上解释了如何升级MVVM轻型二进制文件:

以下是我用来解决问题的基本步骤:

  • 打开并编译WP71项目

  • 将二进制文件复制到MVVM二进制位置(在我的例子中是C:\Program Files\Laurent Bugnon(GalaSoft)\MVVM Light Toolkit\binaries)

  • 打开你的项目

  • 在References文件夹中,删除GalaSoft.MvvmLight、GalaSoft.MvvmLight.Extras和System.Windows.Interactivity

  • 从文件夹C:\Program Files\Laurent Bugnon(GalaSoft)\Mvvm Light Toolkit\Binaries\WP71添加新引用


我想为WP71添加一个标签,但我没有代表。感谢您的回答,是的,我可以使用代码隐藏,但我正在努力保持MVVM实现的干净。+1非常感谢!这为我节省了大量代码和xaml重构。我原以为wp7.1不再适用于这种方式,但事实上,您只需要新的mvvmlight二进制文件。为“当我忘记/如果其他人有此问题时”添加注释--Resharper似乎在全局命名空间而不是交互命名空间中错误地解析EventTrigger。我没有注意到,因为EventTrigger&I:EventTrigger看起来非常相似。我只是花了4个小时沮丧地想弄明白。别让它发生在你身上!
<tk:MenuItem Header="Delete Snapshot" Command="{Binding DeleteSnapshotCommand, Mode=OneWay}" CommandParameter="{Binding SelectedItem,ElementName=lstSnapshots}" />