【发布时间】:2010-11-23 22:06:45
【问题描述】:
我在使用新的 Expression Blend 行为时遇到了问题。
我有一个使用 Expression Blend 3 SDK 开发的自定义 Behavior<T> 类。
行为正常,解决方案编译。那是完美的。我在我的项目中设置了所有引用该行为的引用(System.Windows.Interactivity.dll + Microsoft.Expression.Interactions.dll)。
此外,正如我所提到的,Visual Studio 可以很好地编译项目。
但是,如果我在 Visual Studio 设计器中加载 XAML 文件,在解决方案编译后会收到以下错误:
错误 1 在“交互”类型中找不到可附加属性“行为”。 C:\Path\To\MyFile.xaml 19 14 我的应用程序
文件的那一行是以下内容的第一行:
<Interactivity:Interaction.Behaviors>
<Behaviors:DoubleTextBoxBehavior />
</Interactivity:Interaction.Behaviors>
我的窗口引用设置为:
xmlns:Interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
我什至已经消除了我的自定义行为的可能性。我可以只包含以下行,然后“破坏”设计器:
<Interactivity:Interaction.Behaviors />
据我所知,这应该可行。不应该有错误。编译器可以很好地处理这个问题,但是在我添加行为行的任何时候,Visual Studio 都不会在设计器中加载它。
有没有人知道是什么原因造成的,以及如何解决?
编辑:
我进行了更多测试,这似乎是仅在 Visual Studio 2008(带有 sp1)的 Windows Presentation Foundation Designer 窗口中发生的错误。项目运行良好,没有报错,前提是我只使用 XML 编辑器。但是,如果我在设计器中打开它,它会报告错误并显示问题加载设计器。
除非在 VS 设计器中打开 XAML 文件,否则不会出现错误。
【问题讨论】: