13

我正在制作一个新UserControl的,当我打开它时,XAML 不起作用。

我认为这很奇怪,因为当我在 MainWindow 上工作时它工作得很好。所以我检查了我的主窗口。它仍然在那里工作。也在 C# 代码中。

但是,如果我按CTRL+      它仍然可以正常工作。

我不太清楚为什么。我去了工具➾选项➾文本编辑器➾XAML➾常规,文本完成部分是灰色的(例如自动列表成员等)。当我在主窗口上看到它时,它也是灰色的,但 Intellisense 在那里工作。


有人可以帮助我吗?我的 VS 版本是 VS2012 Express,Update 2。唯一安装的扩展是 XNA(使用这个“hack”)。

4

10 回答 10

9

嗯。我刚刚重新启动它,它又工作了。问题是之前,当我重新启动它时,它仍然没有工作。我还没有找到根本问题,但现在已经解决了。

于 2013-06-10T10:31:59.467 回答
9

这是我不得不说的关于开发 wpf 应用程序最令人沮丧的事情之一。这是一个偶然观察到的临时解决方案,并且在使用 XAMl 时每次智能感知中断时都有效:

  • 以任何方式破坏xaml文件;例如:删除任何字符/符号

  • 按 F6 构建

完成,智能感知在几秒钟内回来了!

于 2015-12-03T16:33:44.383 回答
5

Intellisense 可能失败的原因有很多,如果你有几个因素在起作用,你必须做几件事才能让它工作,所以我列出了我过去为解决这个问题所做的一些事情.

确保您使用 XAML UI 设计器或源代码(文本)编辑器通过 Intellisense 编辑 XAML。XML(文本)编辑器在我的安装(VS2013 Pro)上不提供 Intellisense。

如果设计器由于加载程序集中的异常而崩溃,您也可能会丢失 Intellisense。修复异常以恢复它。

如果项目中的程序集不受信任且已被沙盒化,则设计器可能无法正确加载,这可能会影响 Intellisense。

有关沙盒和授予完全信任的更多信息,请参阅以下文章:-

http://msdn.microsoft.com/en-us/library/dd409252(VS.100).aspx

http://msdn.microsoft.com/en-us/library/ee890038(v=vs.110).aspx

显然只对您信任的程序集给予完全信任!

要授予程序集完全信任,请在 Windows 资源管理器中浏览到程序集并打开文件属性并取消阻止程序集(见下图)。

在此处输入图像描述

此外,删除 .suo 文件可以清除间歇性 Intellisense 问题。

于 2014-09-25T15:59:08.257 回答
1

在我的情况下,工具 / 选项 / 文本编辑器 / XAML / 杂项 / 始终以完整 XAML 视图打开文档未选中。在检查它并从解决方案资源管理器重新打开我的 XAML 文件后,我恢复了智能。

这发生在 Visual Studio 2013 中。

于 2015-09-21T15:09:24.767 回答
1

在我的情况下,将 设置为Properties (F4) > Build Action固定的IntelliSense。*.XAMLPage

于 2018-12-02T10:02:33.060 回答
0

​就我而言,Xamarin XAML 文件上 IntelliSense 的解决方案与 NuGet 包引用相关联,我认为尤其是 Xamarin.Forms 包。如果你的包上有黄色警告符号,你必须在你的特定项目上完成以下步骤: ​​​- 确保它没有错误地构建

  • Pass a msbuild /restore [path to the specific project] ​​​- Pass a .\nuget restoreat your solution

  • 关闭并重新打开您的解决方案

  • 右键单击相关的 XAML 文件 > 打开方式... > 确保将“XAML Designer”或“Xamarin.Forms Previewer”设置为 XAML 文件的默认值

您现在应该拥有 IntelliSense。

​​​就我而言,这使黄色警告消失了,然后 XAML IntelliSense 再次对 Xamarin.Forms 文件起作用

于 2020-04-09T14:28:09.180 回答
0

Release在 Visual Studio 2019 中,在和模式之间切换和构建Debug将它带回来。


x:类不同步

我注意到的另一件事是,在我的用户控件的编辑器文件中,x:Class="..."在另一个命名空间之前排在第二位。

通过将x:Class作为控件的第一个命名空间,带回了智能感知。

于 2020-01-20T19:33:46.250 回答
0

从 VS2019 卸载 Resharper 后,我遇到了同样的问题。在选项对话框中,“自动列表成员”和 Text Editor->XAML 的相关选项被禁用。

我尝试通过单击 XAML 文件上的打开方式...将 XAML 的默认编辑器重置为源代码文本编辑器,但没有成功。

然后我尝试更新甚至重新安装VS,没有任何效果。

在绝望中,我回到与“自动列表成员”相同的选项页面并禁用然后重新启用任何属性(我的情况是“行号”)。这似乎点燃了火花,现在一切都好起来了。

于 2020-02-18T07:23:17.457 回答
0

我的 IntelliSense 也无法处理某些.xaml文件。然后我发现我定义了两个:

<Window.DataContext>
    <core:MyDataContext/>
</Window.DataContext>

<Window x:Class="Namespace.MyWindow"
        ...
        mc:Ignorable="d"
        d:DataContext="{d:DesignInstance Type=core:MyDataContext}">

删除我认为没有必要修复它的那个。

于 2020-09-02T10:09:39.240 回答
0

尝试构建项目并部署项目。某些 dll 或某些 C# 代码中可能存在错误。尝试修复 C# 代码中的所有错误,之后将自动修复 dll 错误。现在代码完成和智能感知应该在 XAML 中工作。如果没有,请再次尝试 Clean-Build 解决方案。如果没有遇到错误,XAML 代码完成和 Intellisense 将起作用。

于 2020-06-29T11:25:16.667 回答