如何在WPF中的Xaml文件中添加注释?

时间:2011-10-27 20:04:02

标签: c# .net wpf xaml comments

我使用了这种语法,因为我在网上找到了它,但它引发了一个错误:

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
<!-- Cool comment -->
xmlns:System="clr-namespace:System;assembly=mscorlib"
  

'名称不能以'&lt;'开头字符,十六进制值0x3C。   第4行,第5位。' XML无效。

6 个答案:

答案 0 :(得分:77)

我假设那些XAML名称空间声明在控件的父标记中?您不能将注释放在另一个标记内。除此之外,您使用的语法是正确的。

<UserControl xmlns="...">
    <!-- Here's a valid comment. Notice it's outside the <UserControl> tag's braces -->
    [..snip..]
</UserControl>

答案 1 :(得分:29)

Laurent Bugnion找到了一个很好的解决方案,它看起来像这样:

<UserControl xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:comment="Tag to add comments"
             mc:Ignorable="d comment" d:DesignHeight="300" d:DesignWidth="300">
    <Grid>
        <Button Width="100"
                comment:Width="example comment on Width, will be ignored......">
        </Button>
    </Grid>
</UserControl>

这是链接: http://blog.galasoft.ch/posts/2010/02/quick-tip-commenting-out-properties-in-xaml/

链接上的评论者提供了忽略前缀的额外字符,而不是突出显示:

mc:Ignorable=”ØignoreØ”

答案 2 :(得分:25)

您无法在xml标记内插入注释。

<强>为

<Window xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
<!-- Cool comment -->
xmlns:System="clr-namespace:System;assembly=mscorlib">

不可

<Window xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:System="clr-namespace:System;assembly=mscorlib">
<!-- Cool comment -->

答案 3 :(得分:10)

只是提示:

在Visual Studio中评论文本,您可以突出显示要评论的文本,然后使用 Ctrl + K ,然后使用 Ctrl + C 。要取消注释,您可以使用 Ctrl + K ,然后使用 Ctrl + U

答案 4 :(得分:0)

对于任何学习这些内容的人来说,评论更为重要,因此依据Xak Tacit的想法(来自User500099&#39; link)获取单一属性评论,将其添加到XAML代码块的顶部:

<!--Comments Allowed With Markup Compatibility (mc) In XAML!
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:ØignoreØ="http://www.galasoft.ch/ignore"
    mc:Ignorable="ØignoreØ"
    Usage in property:
ØignoreØ:AttributeToIgnore="Text Of AttributeToIgnore"-->

然后在代码块中

<Application FooApp:Class="Foo.App"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:ØignoreØ="http://www.galasoft.ch/ignore"
mc:Ignorable="ØignoreØ"
...

AttributeNotToIgnore="TextNotToIgnore"
...

...
ØignoreØ:IgnoreThisAttribute="IgnoreThatText"
...   
>
</Application>

答案 5 :(得分:0)

您不能在UWP XAML标记内添加注释。您的语法正确。

要做:

<xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:System="clr-namespace:System;assembly=mscorlib"/>
<!-- Cool comment -->

不能做:

<xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    <!-- Cool comment -->
xmlns:System="clr-namespace:System;assembly=mscorlib"/>