XML 字符实体和 XAML

XAML 使用在 XML 中为特殊字符定义的字符实体。 本主题介绍一些特定的字符实体和 XAML 中其他 XML 概念的一般注意事项。

XAML 独有的字符实体和转义问题

XAML 标记通常使用相同的字符实体和在 XML 中定义的转义序列。

主要的例外是大括号({ 和 })在 XAML 中具有意义,因为这些字符通知 XAML 处理器必须将括在大括号中的字符序列解释为标记扩展。 有关标记扩展的详细信息,请参阅 Markup Extensions for XAML Overview

但是,你仍可通过使用特定于 XAML(而非 XML)的转义序列将大括号显示为原义字符。 有关详细信息,请参阅{}转义序列 - 标记扩展

请注意,将反斜杠 (\) 作为字符串进行处理时,它不需要转义序列。

XML 字符实体

如前所述,通常用于编写 XAML 标记的大多数字符实体和转义序列都由 XML 定义。 本主题不提供这些实体的完整列表;实体的详细参考可在外部文档(如 XML 规范)中找到。 但是,为方便起见,本主题列出了一些常在 XAML 标记中使用的特定 XML 字符实体。

字符 实体 说明
&(与号) & 必须用于属性值和元素内容两者。
>(大于号字符) > 必须用于属性值,但只要其前面没有 <,> 就可以作为元素的内容。
<(小于号字符) < 必须用于属性值,但只要其后面没有 >,< 就可以作为元素的内容。
"(直双引号) " 必须用于属性值,但直双引号 (") 可作为元素内容。 请注意,属性值可能括在直单引号 (') 或直双引号 (") 内;首先出现的字符定义属性值的引号,另一个引号则可用作值内部的文字。
'(直单引号) ' 必须用于属性值,但直单引号 (') 可作为元素内容。 请注意,属性值可能括在直单引号 (') 或直双引号 (") 内;首先出现的字符定义属性值的引号,另一个引号则可用作值内部的文字。
(数字字符映射) &#[整数]; or &#x*[十六进制]*; XAML 支持向处于活动状态的编码的数字字符映射。
(不间断空格)  (假定 UTF-8 编码) 对于流文档元素或采用文本(如 WPF TextBox)的元素,不间断空格没有超出标记范围进行规范化,甚至是对于 xml:space="default" 也是如此。 (有关详细信息,请参阅 XAML 中的空白处理。)

XML 注释格式

XAML 使用 XML 注释格式:注释的开头为 <!--,注释的结尾为 -->, 且序列 -- 不能出现在注释中。

XML 处理指令

XAML 根据 XML 规范处理 XML 处理指令,该规范说明必须传递指令。 .NET XAML 服务中的 XAML 处理不使用任何处理指令。 使用 XAML 的其他现有框架也不会使用 XAML 中的处理指令。

另请参阅