为标记元素提供唯一标识符。 对于通用 Windows 平台 (UWP) XAML,XAML 本地化过程和工具使用此唯一标识符,例如使用 .resw 资源文件中的资源。
XAML 属性用法
<object x:Uid="stringID".../>
XAML 值
| 术语 | Description |
|---|---|
| stringID | 一个字符串,用于唯一标识应用中的 XAML 元素,并成为资源文件中资源路径的一部分。 请参阅“备注”。 |
注解
使用 x:Uid 标识 XAML 中的对象元素。 通常,此对象元素是 UI 中显示的控件类或其他元素的实例。 在 x:Uid 中使用的字符串与资源文件中使用的字符串之间的关系是资源文件字符串是 x:Uid ,后跟一个点(.),然后是要本地化的元素的特定属性的名称。 请考虑以下示例:
<Button x:Uid="GoButton" Content="Go"/>
若要指定内容以替换显示文本 Go,必须指定来自资源文件的新资源。 资源文件应包含名为“GoButton.Content”的资源条目。 在本例中,内容是 Button 类继承的特定属性。 还可以为此按钮的其他属性提供本地化值,例如,可以为“GoButton.FlowDirection”提供基于资源的值。 有关如何同时使用 x:Uid 和资源文件的详细信息,请参阅 UI 和应用包清单中的本地化字符串。
控制哪些字符串可以用作 x:Uid 值的有效性实际上是由哪些字符串在资源文件和资源路径中作为标识符合法来决定的。
x:Uid 由于指定的 XAML 本地化方案,因此 x:Uid 与 x:Name 是离散的,因此用于本地化的标识符与 x:Name 的编程模型含义没有依赖关系。 此外, x:Name 由 XAML 名称范围概念控制,而 x:Uid 的唯一性由包资源索引 (PRI) 系统控制。 有关详细信息,请参阅 使用 MRT Core 管理资源 和 资源管理系统。
Windows 运行时 XAML 的 x:Uid 唯一性与以前使用的 XAML 利用技术不同。 对于窗口运行时 XAML,同一 x:Uid ID 值作为多个 XAML 元素上的指令存在是合法的。 但是,在解析资源文件中的资源时,每个此类元素必须共享相同的解析逻辑。 此外,项目中的所有 XAML 文件为了 x:Uid 的解析共享一个单一的资源域,而没有与单个 XAML 文件对应的 x:Uid 域的概念。
在某些情况下,你将使用资源路径,而不是包资源索引 (PRI) 系统的内置功能。 用作 x:Uid 值的任何字符串定义以 ms-resource://Resources/ 开头的资源路径,并包括 x:Uid 字符串。 路径由您在资源文件中指定或以其他方式为目标的属性名称构成。
不要将 x:Uid 放在 Windows 运行时 XAML 中不允许的属性元素上。