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 中的处理指令。