【问题标题】:How can I disable Cider (WPF Gui Editor) within VS2010?如何在 VS2010 中禁用 Cider(WPF Gui 编辑器)?
【发布时间】:2011-03-14 19:18:58
【问题描述】:

在 VS2010 Professional 中打开 XAML 文件时,工作室会在 5-7 秒内无响应,并且许多本地控件标有错误栏,因为它们不支持设计时使用。这也会在被调试的应用程序终止后发生。

我有一个 i5 CPU、16GB RAM 和一个 SSD,所以我认为我的硬件规格没有问题。

我已经在完整的 XAML 视图中打开文档(如建议的 here),并且我已经关闭了所有杂物箱(工具栏、文档大纲、数据源),但无济于事。

目前我正在使用 XML 编辑器来保持理智,但这当然也意味着根本没有 IntelliSense。

有没有办法完全禁用 Visual Studio 2010 中的 WPF 设计器而不丢失 XAML IntelliSense 功能?

【问题讨论】:

  • 我目前正在处理的一个页面也发生了同样的事情。大多数问题似乎源于用户控件中的资源没有为我正确解决。可悲的是,我唯一能做的就是在 Blend 中编辑该视图(或等待 10-15 秒让它告诉我有问题)。
  • 这些产生错误的控件是你的吗?添加设计时功能并不难,很简单的 if 语句。任何专业设计的第三方都不应该给你错误,而是联系你的供应商。
  • @Akash:它们是我自己的控件,它们目前根本没有代码隐藏。当我不(不想)使用设计师时,我不明白为什么要在设计时支持上投入资源。
  • 时间不多,投入的时间会在编辑时为您节省很多。抛出的异常总是会减慢 .Net 环境。大多数情况下,您需要编写两个 if 条件,一个在 constrictor 或 Loaded 事件处理程序中,另一个在 OnApplyTemplate 中。您需要做的就是检查 DesignerProperties.GetInDesignMode 并从当前方法返回。
  • @Akash:我已将if (DesignerProperties.GetIsInDesignMode(this)) return; 添加到我的所有构造函数中并重新编译。它并没有影响苹果酒糟糕的启动时间。

标签: wpf visual-studio-2010 xaml ide


【解决方案1】:

我不知道是否有一种方法可以使用在 Visual Studio 中保留 IntelliSense 的轻量级 XML 编辑器。不过我建议你试试kaxaml

来自网站:

Kaxaml 被设计为“XAML 记事本”。它应该是简单和轻量级的,并且可以很容易地尝试一些东西。它还对智能感知和一些有趣的插件提供了一些基本支持(包括一个用于 sn-ps,一个用于清理您的 XAML 并将您的 XAML 呈现为图像)。

【讨论】:

    【解决方案2】:

    我在使用 WPF XAML 时遇到了同样的问题。到目前为止,我发现的唯一方法是使用 XML 编辑器。是的,您将不再拥有 IntelliSense,但这里没有更好的方法。使用像 Kaxaml 这样的外部编辑器仅有助于原始 XAML 文件,这些文件不使用来自其他 XAML 的任何内容(Kaxaml 不支持 projects 或至少不支持它们,因此它对实际项目没有用处)。您也可以尝试使用Expression Blend 来编辑 XAML 文件,但这也不是很好的选择。

    【讨论】:

    • 似乎是可悲的事实。除非其他人很快提出更好的建议,否则我将继续使用 XML 编辑器并接受您的回答。
    【解决方案3】:

    请补充

    if (DesignerProperties.GetIsInDesignMode(this)) 
       return;
    

    到构造函数、OnApplyTemplate 和 Loaded 事件处理程序,这将忽略所有设计时处理并使控件加载更快。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-09
      • 2019-05-11
      • 2014-09-09
      相关资源
      最近更新 更多