XML 字符实体和 XAML

XAML 将 XML 中所定义的字符实体用于特殊字符。 本主题描述 XAML 中的一些特定字符实体和其他 XML 概念的常规注意事项。

对于 XAML 唯一的字符实体和转义问题

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

主要的例外是,括号({ 和 })在 XAML 中具有意义,因为这些字符通知 XAML 处理器括在其中的字符序列必须解释为标记扩展。 有关标记扩展的更多信息,请参见XAML 的标记扩展概述

但是,您仍可以通过使用 XAML(而不是 XML)所特有的转义序列来将大括号显示为原义字符。 有关更多信息,请参见 {} 转义序列/标记扩展

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

XML 字符实体

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

字符

Entity

注释

&(“and”符)

&

必须既用于特性值,又用于元素的内容。

>(大于号字符)

>

必须用于某个特性值,但是,只要前面没有 <,就可以接受 > 作为元素的内容。

<(小于号字符)

&lt;

必须用于某个特性值,但是,只要后面没有 >,就可以接受 < 作为元素的内容。

"(直双引号)

&quot;

必须用于某个特性值,但可接受直引号 (") 作为元素的内容。 请注意,特性值本身可以用单直引号 (') 或直双引号 (”) 引起来;特性值外壳由首先出现的字符定义,另一个引号随后可以用作值中的文本。

'(直单引号)

&apos;

必须用于某个特性值,但可接受单直引号 (') 作为元素的内容。 请注意,特性值本身可以用单直引号 (') 或直双引号 (”) 引起来;特性值外壳由首先出现的字符定义,另一个引号随后可以用作值中的文本。

(数字字符映射)

&#[integer]; 或者 &#x[hex];

XAML 支持将数字字符映射到处于活动状态的编码。

(不间断空格)

&#160;(采用 UTF-8 编码)

对于流文档元素或者使用文本的元素(如 WPF 的 TextBox),不间断空格不会在标记外部规范化,甚至对于 xml:space="default" 也是如此。 (有关更多信息,请参见XAML 中的空白处理。)

XML 注释格式

XAML 使用 XML 注释格式:注释以 <!-- 开头,以 -->, 结尾,注释中不得出现 -- 序列。

XML 处理指令

XAML 按照 XML 规范处理 XML 处理指令,这些规范指出必须通过这些指令。 .NET Framework XAML 服务的 XAML 处理功能不使用任何处理指令。 利用 XAML 的其他现有的框架还未使用来自 XAML 的处理指令。

请参见

参考

{} 转义序列/标记扩展

XamlName 语法

概念

XAML 概述 (WPF)

标记扩展和 WPF XAML

XAML 中的空白处理