非常简单的问题:如何将MvvmLight与System.Windows.Interactivity一起使用?!
这是我的包的样子:
<packages>
<package id="CommonServiceLocator" version="1.3" targetFramework="net452" />
<package id="Expression.Blend.Sdk" version="1.0.2" targetFramework="net452" />
<package id="MvvmLightLibs" version="5.2.0.0" targetFramework="net452" />
<package id="Ninject" version="3.2.2.0" targetFramework="net452" />
</packages>
任何人都可以建议我,我应该使用哪些版本来使这种代码正常工作,没有错误/警告?
<userControls:MyUserControl x:Name="Foo" Margin="10,110,10,10" BorderStrokeThickness="5">
<i:Interaction.Triggers>
<i:EventTrigger EventName="FooClick">
<command:EventToCommand Command="{Binding Mode=OneWay, Path=ClickCommand}"
PassEventArgsToCommand="True" />
</i:EventTrigger>
</i:Interaction.Triggers>
</userControls:MyUserControl>
我在EventToCommand
上获得了不同的错误消息。现在我有错误:
几秒钟前,我有:无法添加类型&#39; EventToCommand&#39;到类型&#39; TriggerActionCollection&#39;的集合。只有类型&#39; T&#39;是允许的。
类型&#39; EventToCommand&#39;来自汇编&#39; GalaSoft.MvvmLight.Platform&#39;是用旧版本的 Blend SDK,Windows Presentation Framework 4不支持 项目
我没有做任何改变:/(重建/重新开放解决方案几次)
编辑:我刚刚重新编译,我现在再次出现第二个错误EDIT2:
现在我有:
xmlns:cmd="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Platform"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
我无法添加(我在参考文献中有GalaSoft.MvvmLight.Extras dll)
xmlns:command="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras.WPF4"
答案 0 :(得分:0)
检查您的命名空间,它们应该是:
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:command="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras.WPF4"
答案 1 :(得分:0)
我偶然发现了这个解决方案(解决方法),这为我们继续使用XAML并正确预览更新提供了一种方式。
启用“启用项目代码”选项后,我会看到确切的错误。禁用此功能后,错误不会再出现,并且可以继续进行高效工作。
这是一个困扰我的荆棘(我相信很多其他人)好几个月。希望很快就会解决导致此问题的潜在错误。在那之前,我祈祷这个答案可以对你有所帮助。
答案 2 :(得分:0)
对于那些在这个页面上磕磕绊绊的人,我遇到了完全相同的问题,一切都在构建,但设计师没有工作。
我通过将目标框架从4.6设置为 .net framework 4
来解决它我就这样做了
删除所有galasoft nugget引用并删除system.windows.interactivity
转到项目设置 - &gt;应用程序 - &GT;目标框架并将其设置为.net Framework 4
将引用放回去,这次它们都将使用相同的框架
这可能会导致system.Windows.interactivity导致的构建错误 (找不到文件错误)
答案 3 :(得分:0)
通过执行以下操作,我可以越过Cannot add instance of type 'EventToCommand' to a collection of type 'TriggerActionCollection'. Only items of type 'T' are allowed
:
bin
和obj
目录