在VS2010 xaml编辑器中支持Blend 3的Interactivity命名空间似乎存在问题。我安装了以下内容:
我正在尝试编译一个针对.Net 4 Client Profile的演示项目,并引用System.Windows.Interactivity(在Blend 3文件夹中)。
在对象浏览器中,一切似乎都很好。我也可以从代码隐藏中访问Interaction.Behaviours,但如果我将命名空间xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
放在xaml文件中并尝试使用它,则intellisense为空白。
如果我在那里复制一些东西,编译器说:
The tag 'Interaction.Behaviors' does not exist in XML namespace 'http://schemas.microsoft.com/expression/2010/interactivity'.
我需要安装Blend 4 RC吗?
答案 0 :(得分:21)
@TomTom和所有SDK 4.0建议者:
有一个巨大的杀手标准阻止像我这样的许多开发人员下载和使用SDK 4.0,即使它是免费的:它使用.NET 4.0。
您可能会问.NET 4.0有什么问题?没有什么,除了今天(2013-06-13),我们的许多客户仍然没有在他们的服务器上安装它(在客户端它通常没有问题)。因此,如果您开发的软件也应该在服务器上运行,那么即使.NET 4.5是最先进的,您也不得不使用.NET 3.5。
@everybody
有人解决了Andre Luus的原始问题吗?如果引用了Blend SDK 3.5 for WPF的“System.Windows.Interactivity.dll”,那么XAML中的命名空间导入如何在VS2010中显示? (或者< i:Interaction.Behaviors>在3.5中命名不同?)
附录:
解决方案是:
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
答案 1 :(得分:12)
adam的答案链接到Blend SDK 4.0 for silverlight,如果您在WPF程序中遇到此问题,则应安装this version instead。
答案 2 :(得分:7)
如果您没有Blend 4,则可以单独安装Blend 4 SDK以获取当前的行为程序集。
答案 3 :(得分:6)
行为和MouseDragElementBehavior属于Microsoft.Expression.Interaction.dll和System.Windows.Interactivity.dll,请添加对这两个程序集的引用,然后重建您的解决方案。
答案 4 :(得分:1)
Get Blend 4 - 免费升级。可从Microsoft下载(试用版,如果安装了Blend 3,它将在安装后自动激活)。
答案 5 :(得分:0)
安装NuGet包由JetBrains维护的Microsoft Expression Blend SDK将解决此问题。
Install-Package JetBrains.System.Windows.Interactivity