VS2010(Blend 3)中不存在"Interaction.Behaviors"标签

And*_*uus 12 wpf xaml visual-studio-2010 expression-blend

在VS2010 xaml编辑器中支持Blend 3的Interactivity命名空间似乎存在问题.我安装了以下内容:

  • VS2010
  • Blend 3 + Blend 3 SDK

我正在尝试编译一个针对.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或其他东西?

Chr*_*oph 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"
Run Code Online (Sandbox Code Playgroud)


Alk*_*fer 12

adam的答案链接到Blend SDK 4.0 for silverlight,如果你在WPF程序中遇到这个问题,你应该安装这个版本.


小智 7

如果您没有Blend 4,则可以单独安装Blend 4 SDK以获取当前行为程序集.

  • 实际上Blend 4是一个免费下载的混合3,所以没有理由没有混合4;) (2认同)

ser*_*iol 7

行为和MouseDragElementBehavior属于Microsoft.Expression.Interaction.dll和System.Windows.Interactivity.dll,请添加对这两个程序集的引用,然后重建您的解决方案.