VS Xaml设计器错误

4
我在WPF应用程序中的Xaml文件中遇到了错误。我无法在Visual Studio设计器或Blend中看到我的控件。但是,该应用程序编译并且运行完美。
在Blend中,它说有一个无效的Xaml,并且错误根本没有意义,但当我关闭控件时就没有错误了。
在Visual Studio中,错误更加明确。
Error   27  Invalid XmlnsDeclaration occurs in assembly 'Microsoft.Expression.Interactivity, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. XmlnsDeclaration references a namespace 'Microsoft.Expression.Interactivity.Layout' that is not in the assembly.   

我对这个错误进行了研究,发现了一些有趣的事情。 解决方法1 创建一个带有命名空间Microsoft.Expression.Interactivity.Layout的虚拟类。
结果?不起作用。 解决方法2 使用...
xmlns:i="clr-namespace:Microsoft.Expression.Interactivity;assembly=Microsoft.Expression.Interactivity"

取代

xmlns:i="http://schemas.microsoft.com/expression/2009/interactivity"

...添加我的参考资料。

结果?我已经这样做了。

更新

尝试仅在 Blend 中引用模式 URL ,但仍无法正常工作。

错误:

"The specified value cannot be assigned to the collection. The following type was expected : "TriggerAction".

使用此代码:

<interactivity:Interaction.Triggers><interactivity:EventTrigger  EventName="SelectionChanged" ><my:CommandAction Command="{Binding BreedingListSelectionChanged}" SyncOwnerIsEnabled="True" /></interactivity:EventTrigger></interactivity:Interaction.Triggers

最后,我找到了来自Microsoft Only社区支持的一位先生发布的这篇帖子

他说这是一个已知问题,可能会在下一个版本中修复。

事实上,我现在需要它。

有人遇到过这个问题吗?

谢谢。


  1. 你的应用程序配置是AnyCPU,而MS程序集也是AnyCPU吗(Blend仅使用AnyCPU)?
  2. 你尝试过在对程序集的引用上定义CopyLocal=True吗?
- Danny Varod
是的,我已经尝试过了,但它没有起作用。谢谢。 - esylvestre
1个回答

3

我在Connect上提交了一个关于这个行为的错误报告

简短的答案是,这不会在VS 2008中得到修正,但在VS 2010中可以工作。我发现最好的解决方案是使用Blend进行UI设计(使用expression/2009/interactivity语法),并将Visual Studio设置为编辑XAML作为XML(不使用设计器)。这对我来说效果非常好。


谢谢你的建议。目前,我不会在官方发布之前转移到Visual Studio 2010。即使使用这个语法,它仍然不能在Blend中工作。请查看我的问题帖子上的更新。 - esylvestre
是的,触发器存在问题,即使在 Blend 中也是如此。在 VS 中,您将遇到任何行为的错误,但大多数行为在 Blend 中都可以正常工作。我已经开始制作自定义行为,只是为了避免这个非常烦人的错误。不过,我建议您提交一个简短的工作示例到 Connect 上,以修复 Blend。 - Reed Copsey
嗯,那我肯定会创建一个小仓库并发布到connect.microsoft.com上...这样,在VS2010 RTM之前就可以修复它了(希望如此)。他们现在对于VS 2010的漏洞反应非常好。 - Reed Copsey
是的。 对于我来说,仍然很困惑为什么我的项目不工作,但是当我运行这个项目:http://sachabarber.net/?p=510 我完全没有任何问题... - esylvestre
你能创建一个(非常小的)repo项目吗?如果可以,请在这里发布,也可以在Connect上发布。 - Reed Copsey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接