【发布时间】:2009-11-02 20:49:21
【问题描述】:
我的 Xaml 文件在 WPF 应用程序中出现错误。我无法在 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 Community Support 的人的this post。 他说这是一个已知问题,可能会在下一个版本中修复。
事实上,我现在就需要它。
有人遇到过这个问题吗?
谢谢。
【问题讨论】:
-
1.您的应用程序的配置是 AnyCPU 还是 MS 程序集 AnyCPU(Blend 仅使用 AnyCPU)? 2. 您是否尝试在对程序集的引用上定义 CopyLocal=True?
-
是的,我试过了,但它不起作用。谢谢。