我正在尝试引用 System.Windows.Interactivity 以支持 IsExpanded 行为命令
但是,一旦我添加对此程序集的引用,我就会收到加载 System.Windows 2.0 的错误。这似乎是一个已知错误,解决方案似乎只是引用该程序集。
我下载了 Silverlight SDK,并在我的项目中引用了有问题的程序集。
但是,现在我在 System.Windows 和 WindowsBase.dll 之间遇到了很多冲突。诸如 RoutedEventHandler 之类的类都存在于两者中。必须是解决此问题的一种方法,因为我看到人们成功地将 Interactivity dll 与 wpf 4.0 一起使用。
如果你有一个 WPF 项目,你需要使用该程序集的 WPF 特定版本,也许你使用了错误的 .dll?
这是我系统上的两个相应文件路径:
C:\Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.0\Libraries\System.Windows.Interactivity.dll
C:\Program Files (x86)\Microsoft SDKs\Expression\Blend\Silverlight\v4.0\Libraries\System.Windows.Interactivity.dll
我的 Expression 目录中只有 /Silverlight ......所以我从那里获取了 Interactivity.dll。System.Windows 根本不存在,所以我通过安装 silverlight sdk 得到了它,然后从 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0 获取它
@SonicSoul:您不能在 WPF 中使用 Silverlight 库,甚至不要尝试。如果 WPF 程序集不存在,则重新安装Blend SDK并确保将安装 WPF 组件。
我从 C:\Program Files (x86)\Microsoft SDKs\Expression\Blend\Silverlight\v4.0\Libraries 得到 System.Windows.Interactivity.dll
@SonicSoul:正如我所说,那是针对 Silverlight,不能在 WPF 中使用
我还能从哪里获得 System.Windows.Interactivity?