可扩展应用程序标记语言 (XAML) 基于 XML,并采用在 XML 规范中定义的全球化支持。以下各节介绍了一些您应了解的 XAML 功能。
字符引用
字符引用使用十进制或十六进制的形式指定它表示的特定 Unicode 字符的数字。下面的示例演示十进制字符引用。
此示例演示十六进制字符引用。请注意,十六进制数的前面带有一个 x。
编码
XAML 支持的编码有 ASCII、Unicode UTF-16 和 UTF-8。编码语句位于 XAML 文档的开头。如果不存在编码属性,并且没有任何字节顺序,则分析器默认为 UTF-8。UTF-8 和 UTF-16 都是首选编码。不支持 UTF-7。下面的示例演示如何在 XAML 文件中指定 UTF-8 编码。
语言属性
XAML 使用 xml:lang 来表示元素的语言属性。若要使用 CultureInfo 类,语言属性值应为 CultureInfo 预定义的区域性名称之一。xml:lang 在元素树中可按 XML 规则继承(但并不一定这样继承,因为存在依赖项属性继承);在未明确赋值的情况下,其默认值为空字符串。
语言属性对指定方言非常有用。例如,法语在法国、魁北克、比利时和瑞士的拼写、词汇和发音各不相同。此外,中文、日语和朝鲜语虽然具有相同的 Unicode 码位,但表意图形各不一样,并使用完全不同的字体。
以下可扩展应用程序标记语言 (XAML) 示例使用 fr-CA 语言属性指定加拿大法语。
<TextBlock xml:lang="fr-CA">Découvrir la France</TextBlock>
Unicode
XAML 支持所有 Unicode 功能(包括代理项)。只要能将字符集映射到 Unicode,则支持该字符集。例如,GB18030 中引入了某些可映射到中日韩 (CJK) 扩展 A 和 B 以及代理项对的字符,因此完全受支持。WPF 应用程序可使用 StringInfo 操作字符串,而无需知道它们是否具有代理项对或组合字符。