Intellisense不适用于VS2012中的XAML,仅部分适用于Blend

时间:2012-06-14 09:19:53

标签: xaml intellisense visual-studio-2012

我正在尝试使用Visual Studio 2012的RC来处理XAML文件。我似乎无法获得任何XAML Intellisense,而且Tools中的选项显示为灰色。

我也尝试使用Blend运行解决方案,但是我只能获得Intellisense等自定义控件,例如telerik。

Partial Intellisense in Blend

当我将控件拖到设计图面上时,我得到一个“对象引用未设置为对象的实例”异常,但控件仍然添加到表面。

我已经读过这是VS11中的一个错误,并在Visual Studio 2012 RC中得到修复。

我已经创建了一个新的Silverlight应用程序并且intellisense正在运行,所以我想知道它是如何设置我的项目的问题。

我将所有样式都放在一个单独的主题项目中,该项目由其他所有其他项目引用。在设计器中,这些引用显示为错误,但是当应用程序运行时,它们可以很好地解析。

设计时未解决的资源是否会影响Intellisense?

6 个答案:

答案 0 :(得分:2)

点击“Build - > Clean Solution”,然后点击“Build - > Build Solution”。 (仅“重建解决方案”不起作用。) [Source]

答案 1 :(得分:2)

如果您有任何表达式混合dll用于交互,并且您使用的是silverlight5,则需要更新以下dll:

  • Microsoft.Expression.Controls.dll
  • Microsoft.Expression.Effects.dll
  • Microsoft.Expression.Interactions.dll
  • System.Windows.Interactivity.dll

Microsoft Visual Studio 2012的Blend + SketchFlow预览版 http://www.microsoft.com/en-us/download/details.aspx?id=30702

参考位置: C:\ Program Files(x86)\ Microsoft SDKs \ Expression \ Blend \ Silverlight \ v5.0 \ Libraries

答案 2 :(得分:2)

这里使用WPF完全相同的问题。

就我而言,删除:

<Page.Resources>
    <vm:AnyViewModel x:Key="anyViewModel" />
</Page.Resources>

解决我的问题...

答案 3 :(得分:0)

XAML Intellisense失败的一个已知原因是System.Windows.Controls.Toolkit是项目引用之一。我已经看到删除该引用立即修复问题的地方。问题在this Connect bug对VS2012 Beta的评论中有所描述,但它也适用于带有7月更新的RC。

答案 4 :(得分:0)

我发现一些控件的xaml设计师有这个问题,其他控件都很好。

问题(在我的情况下)似乎是参数为null或事件调用未初始化的单例。设计师为您提供堆栈跟踪和其他计时器渲染没有问题。

我发现通过更改没有Intelli-sense的页面的后端代码来包含DesignerProperties总能解决问题(在我的情况下)。

public Homing()
{
    InitializeComponent();

    if (DesignerProperties.GetIsInDesignMode(this))
        return;

    // some other code here that may have uninitialized members
}

答案 5 :(得分:0)

我不确定我是否有同样的问题,但是Intellisense神秘地停止了在XAML文件中为我工作。我尝试按照某人的建议清理构建,但这不起作用。

重新启动Visual Studio 2013后,XAML页面中的Intellisense开始重新运行。