C# 如何将MvvmLight与System.Windows.Interactivity一起使用?

C# 如何将MvvmLight与System.Windows.Interactivity一起使用?,c#,wpf,xaml,mvvm,mvvm-light,C#,Wpf,Xaml,Mvvm,Mvvm Light,非常简单的问题:如何将MvvmLight与System.Windows.Interactivity一起使用 以下是我的软件包的外观: <packages> <package id="CommonServiceLocator" version="1.3" targetFramework="net452" /> <package id="Expression.Blend.Sdk" version="1.0.2" targetFramework="net452"

非常简单的问题:如何将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>
我无法添加(我在引用中有GalaSoft.MvvmLight.Extras dll)


检查名称空间,它们应该是:

xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:command="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras.WPF4"

我刚刚偶然发现了这个解决方案(变通方案),它为我们提供了一种方法来继续使用XAML并适当地更新预览

启用“启用项目代码”选项时,我会看到确切的错误。禁用此功能后,错误不再出现,生产性工作可以继续

这根刺折磨了我好几个月(我相信还有很多其他人)。希望导致这种情况的潜在缺陷很快得到解决。在此之前,我祈祷这个答案能像对我一样对你有帮助


对于那些在本页上遇到障碍的人,我遇到了完全相同的问题,所有东西都在构建中工作,但设计师没有工作

我将目标框架从4.6设置为。net framework 4

我就是这样做的

  • 删除所有galasoft nugget引用并删除system.windows.interactivity

  • 转到项目设置->应用程序->目标框架,并在.net framework 4上进行设置

  • 把引用放回去,这次它们都将使用相同的框架

  • 这可能会导致system.Windows.interactivity导致生成错误 (未找到文件错误)

  • 打开App.config
  • 删除“system.Windows.interactivity”从属程序集

  • 我能够通过
    无法将“EventToCommand”类型的实例添加到“TriggerActionCollection”类型的集合中。通过执行以下操作,仅允许“T”类型的项目

  • 清洗溶液
  • 删除
    bin
    obj
    目录
  • 重新启动Visual Studio
  • 重建解决方案

  • 这太疯狂了。我已经安装了MvvmLightLibs 5.2.0。但是intellisense在我的xaml文件中没有看到
    GalaSoft.MvvmLight.Command
    。但我确实看到了这些DLL的引用:/I我有
    xmlns:command=”http://www.galasoft.ch/mvvmlight“
    立即在我的沙盒项目中复制您的代码。而且一切正常:我能够在没有警告的情况下使用EventToCommand,并且绑定命令可以很好地工作。这就是我的实际名称空间:
    xmlns:i=”http://schemas.microsoft.com/expression/2010/interactivity“xmlns:command=”http://www.galasoft.ch/mvvmlight“
    能否删除nuget软件包(卸载它们),然后从项目中删除所有引用,然后再次安装所需的引用?@lerhe61谢谢,你能检查我的简单代码吗:这只是一个视图,如果你能检查错误是否出现在你的机器上,请尝试你的代码,一切正常。加载窗口后立即获取加载的消息。该消息也适用于我,但我在设计器中遇到此错误,无法查看视图预览:/
    xmlns:cmd="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Platform"
    
    xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
    
    xmlns:command="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras.WPF4"
    
    xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
    xmlns:command="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras.WPF4"