VS Xaml设计器错误

时间:2009-11-02 20:49:22

标签: .net wpf xaml

我的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社区支持的人员this post。 他说这是一个已知的问题,它可能会在下一个版本中修复。

事实是,我现在需要它。

有人遇到过这个问题吗?

感谢。

1 个答案:

答案 0 :(得分:3)

我就此确切行为提交了bug on Connect

简短的回答是,这不会在VS 2008中得到纠正,但它确实在VS 2010中有效。我发现的最佳解决方案是使用Blend进行UI设计(使用表达式/ 2009 / interactivity语法)和设置Visual Studio以将XAML编辑为XML(不使用设计器)。这对我来说非常有效。