【问题标题】:#region in XAMLXAML 中的#region
【发布时间】:2011-02-22 17:16:18
【问题描述】:

我实际上不喜欢我的代码中的#region。 但是 出于某种原因称我为疯子,我希望将它们包含在我的 XAML 中。我希望整个部分都有一个类似#region 的东西并折叠它们(例如我的

等。

这存在吗?如果没有,

怎么样

【问题讨论】:

  • 我喜欢这个想法,但我不认为有类似的东西......但是你可以折叠任何 XAML 元素 ;)
  • 如果它仍然相关visualstudiogallery.msdn.microsoft.com/…,如果你发现像 ctrl+m o 这样折叠所有区域和节点的快捷方式,请发布

标签: wpf visual-studio xaml


【解决方案1】:

OP 注意:this was the original right answer 并且在某些方面仍然是一个不错的选择,包括我在内的一些最佳答案。但我认为这最好地回答了最初的问题。

Visual Studio 2015 最终添加了对 XAML 中区域的支持。你把你的 regional 代码放在下面:

<!--#region RegionName-->

All Your XAML In Here

<!--#endregion-->

这将在起始行的左侧添加一个折叠图标,您可以使用该图标展开/折叠该区域。

不知道这实际上有多方便,因为我们已经可以在 XAML 编辑器中折叠/展开任何节点。只要你想用,它就在那里。

【讨论】:

  • 我认为如果我有多个相同性质的控件要分组,或者我想按类型(图像、样式等)对资源进行分组等,它会变得很方便...
  • 这应该是任何使用 Visual Studio 2015 的人都可以接受的答案
  • 我的用例来自 VS2013,对我来说,有时我必须注释掉暂时搁置的 XAML 的大区域,我不想滚动浏览所有编辑器中的文本。我可能会将所有内容都卡在另一个 XAML 元素中,但我喜欢新的#region 功能。
  • 经过一番摆弄,我注意到这个解决方案的一个小警告:标签是空间敏感的。也就是说,你必须写&lt;!--#region Name--&gt;,而不是&lt;!-- #region Name--&gt;(注意多余的空格)。这适用于开始和结束标签。我正在运行 VS2015 Professional。
  • 在 Visual Studio 2017 中不适合我。我知道标签对空间敏感。
【解决方案2】:

【讨论】:

  • 谢谢!!当我回到 Silverlight/WPF 时,我会尝试一下。
  • Jacob,你的扩展太棒了!
  • 太棒了! VS 团队应该整合它。谢谢!
  • 不错,但你的解决方案和微软的解决方案对我来说都有同样的问题。我希望能够通过将我的忽略命名空间c: 放在区域标记的开头来忽略整个区域。如果区域标签是评论,这将不起作用。
【解决方案3】:

我可能错过了您请求的要点,但 XAML 编辑器会自动在元素周围放置可折叠区域。注意编辑器窗口左栏的节点。单击“-”,关联的元素将折叠成一行,很像#region。

【讨论】:

  • +1,您可以将 XML cmets 与 XAML 一起放入“标题”部分。
  • 我知道这一点,但是当我打开文件时,我需要积极地这样做我正在寻找它在文件打开时自动进行。
  • 是的,没问题。编辑+大纲+切换。当您再次加载项目时,它将恢复状态,使其“自动”。
  • 你能自动折叠元素吗?像 XAML 的 CTRL+M+O 一样?
  • 未来用户:阅读更多答案,可以使用 vs 2015(内置)或扩展。
【解决方案4】:

没有,但根据微软的this reply

这是一个很好的建议。非常感谢。我们会在未来的版本中考虑它

【讨论】:

  • 我们在 2015 年... sigh
  • @TheEye 在 2 亿年后(2017 年)有什么改变吗?
  • 过去 2 年没有使用 XAML,抱歉 - 很高兴回到 Swift :-)
【解决方案5】:

仅供参考:此版本已更新为与 VS 2012 配合使用 http://visualstudiogallery.msdn.microsoft.com/3c534623-bb05-417f-afc0-c9e26bf0e177

这个 VS2012 扩展在美化 XAML 方面做得很好,因此属性会自动排序和对齐等。 http://xamlstyler.codeplex.com/documentation

【讨论】:

    【解决方案6】:

    在 Visual Studio 2012 Update 4 中,我能够选择很大一部分 XAML 代码,右键单击并选择“隐藏选择”。 (基本上用 [...] 符号折叠该部分,在展开它之后,系统“记住”我想用行号旁边的 [-] 符号折叠该部分。

    【讨论】:

      【解决方案7】:

      您可以使用 SSI 格式将 cmets 添加到 XAML 文件中:

      <!-- Grid Styles -->
      <style...>
      <style...>
      
      <!-- Window Styles -->
      <style...>
      <style...>
      <style...>
      

      如果您使用内置的 XML 折叠,这至少会给您某种“标题”。

      【讨论】:

        【解决方案8】:

        是的,

        VS2010 会记住折叠区域,但要注意当我应用 SP1 时它会停止工作(就像许多其他事情一样)。卸载 VS2010(和任何扩展)并执行以下安装过程后,折叠的 XAML 元素似乎可以很好地记住:

        • 安装VS2010(我的情况是Pro)
        • 安装VS2010 windows更新(包括一个XML编辑器一个,200MB+)
        • 安装 SP1 安装
        • 安装 VS2010 SP1 windows 更新

        可能会帮助某人。

        【讨论】:

          猜你喜欢
          • 2020-03-11
          • 2010-10-19
          • 1970-01-01
          • 1970-01-01
          • 2011-01-21
          • 1970-01-01
          • 2012-02-18
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多