2010-12-17 161 views
22

我对WPF和使用XAML相当陌生。如果突出显示的部分已经包含一些注释,我就非常沮丧,因为我无法选择一大块XAML并使用工具栏中的注释按钮在Visual Studio 2010中将其注释掉。有没有办法将包含注释的XAML注释掉?

其他语言允许您在注释中嵌入注释而不会出现问题。有没有办法在使用Visual Studio 2010的XAML中评论评论?

+0

在旧的C与'/ ** /'风格的注释,以及在旧帕斯卡'{}'(不知道现代方言),嵌套评论是一个问题。 – Vlad 2010-12-17 21:29:25

+0

我在考虑使用visual studio中的注释/取消注释按钮。你点虽然有效。 – tmoltzan 2010-12-17 22:28:16

+0

我没有VS 2010,但在2012年,您可以简单地使用HTML类型<! - 内容来评论 - >评论。尝试一下。 – 2017-02-06 11:32:25

回答

21

不,没有办法在XAML中嵌套注释。

您可以使用MC:你的根元素忽略的属性,任何属性或元素与价值前缀将被忽略,如:

<UserControl ... 
    mc:Ignorable="i"> 

    <!-- Ignore Text attribute --> 
    <TextBlock i:Text="Hello" /> 

    <!-- Ignore entire button --> 
    <i:Button> 
    </i:Button> 

</UserControl> 

注意,混合设置MC:忽略的属性值设为“ d',所以你需要使用例如mc:Ignorable =“d i”

我不确定为什么要评论XAML内容这么多?

+3

我并不经常这样做,但有时当我尝试在模板中做不同的事情时,我不想删除工作模板来尝试新的方法。我仍然在摸索模板,看看我能做些什么。 – tmoltzan 2010-12-17 22:34:33

+1

这工作正常,除了ResourceDictionary文件。他们似乎没有这个财产。 – 2011-09-02 22:01:14

+1

*“我不想删除工作模板以尝试新方法”* - 这听起来像您没有使用[SCM](https://en.wikipedia.org/wiki/Software_configuration_management)。在许多其他事情中,SCM可以让你玩弄,而不会破坏事情。 – IInspectable 2016-07-31 10:01:09

3

当涉及到一个已经包含一些XML注释行的块时,注释特性并不比这更聪明。

一个相当无痛解决此问题的可以使用正则表达式:

  • 选择要注释掉的XAML代码块。
  • 点击从Visual Studio工具栏中的评论按钮
  • 保持你的注释文本块中选择:
    • 打开查找/替换对话框(CTRL + SHIFT + H)
    • 在查找选项,选中“使用常规 表达式”复选框。
    • 确保“查找范围”组合框设置为 “选择”。
    • 在您的“查找”字段中输入:\<\!\-\-(.*)\-\-\>
    • 在你的“替换”字段中输入:--><!--$1--><!--
    • 单击“全部替换”按钮

这将包装任何评论在开始时用结束注释标记和结束时的开始注释标记在块中标出行,以确保此注释前面的文本块有效,并且后面的文本块也是如此。

要删除的意见,并返回到原来的XAML的块,首先使用正则表达式,但相反的逻辑:

  • 查找字段:\-\-\>\<!\-\-(.*)\-\-\>\<\!\-\-
  • 替换字段:<!--$1-->

然后,保持选定的XAML块,从Visual Studio中单击取消注释按钮。

注意:根据您使用的Visual Studio版本,正则表达式的语法可能会有所不同。我使用的是VS 2012.以前的版本会使用大括号'{}'来隔离表达式和反斜杠'\'以在替换字段中使用它。现在,分别是括号'()'和美元符号'$'。

0

有在Expression Blend没有评论/取消注释按钮,如果你想尝试注释你的代码块,你可以输入包括以下符号的开始和代码块手工

<!-- your code comes here.. 
Next Line--> 
结束

参见下面

See a sample screenshot below

0

的样本屏幕截图选择注释块 命中CNTRL-K,控制-C(同样的快捷方式为对C#侧注释代码块)。 设计师将移动您的评论标记以评论整个街区。

CNTROL-K,CNTROL-U(科德取消注释)将不印字回事情再次使其成为现场XAML代码。这会删除所有评论标记,因此您必须重新评论原始评论。

它并不完美,但它们是您可能已经知道的简单捷径。

相关问题