Директива x:Uid

Предоставляет уникальный идентификатор для элементов разметки. В языке XAML универсальной платформы Windows (UWP) этот уникальный идентификатор используется процессами и средствами локализации XAML, например при использовании ресурсов из файла ресурсов .resw.

Использование атрибутов XAML

<object x:Uid="stringID".../>

Значения XAML

Термин Описание
stringID Строка, которая присваивает уникальный идентификатор элементу XAML в приложении и становится частью пути к ресурсу в файле ресурсов. См. заметки.

Комментарии

Используйте x:Uid для определения элемента объекта в XAML. Обычно этим элементом объекта является экземпляр класса элемента управления или другой элемент, отображаемый в пользовательском интерфейсе. Отношения между строкой, используемой в x:Uid, и строками, используемыми в файле ресурсов, состоят в том, что строками файла ресурсов является x:Uid, за которым следует точка (".") и имя определенного свойства локализуемого элемента. Рассмотрим следующий пример.

<Button x:Uid="GoButton" Content="Go"/>

Чтобы указать содержимое для замены отображаемого текста Go, необходимо указать новый ресурс, основанный на файле ресурсов. Файл ресурсов должен содержать запись ресурса с именем GoButton.Content. Content в этом случае является определенным свойством, наследуемым классом Button. Также можно предоставить локализованные значения для других свойств этой кнопки, например можно предоставить основанное на ресурсе значение для GoButton.FlowDirection. Дополнительные сведения о совместном использовании x:Uid и файлов ресурсов см. в разделе Локализация строк в манифесте пакета приложения и интерфейсе пользователя.

Срок действия строк, которые можно использовать для значения x:Uid, на практике определяется тем, какие строки признаны в качестве идентификатора в файле ресурсов и в пути к ресурсу.

Директива x:Uid отделена от x:Name как из-за заданного сценария локализации XAML, так и потому, что использующиеся для локализации идентификаторы не имеют зависимостей от результатов модели программирования x:Name. Кроме того, x:Name управляется понятием области имен XAML, где уникальностью x:Uid управляет система индекса ресурсов пакетов (PRI). Дополнительные сведения см. в разделе Система управления ресурсами.

Правила языка XAML UWP относительно уникальности x:Uid немного отличаются от правил, которые использовались в более ранних технологиях с применением языка XAML. В языке XAML UWP одно и то же значение идентификатора x:Uid может использоваться в качестве директивы для нескольких элементов XAML. Но в таком случае все подобные элементы должны иметь одинаковую логику разрешения ресурсов в файле ресурсов. Кроме того, все XAML-файлы в проекте объединены одной областью ресурсов для разрешения x:Uid. Не существует концепции областей x:Uid, привязанных к отдельным XAML-файлам.

В некоторых случаях будет необходимо использовать путь к ресурсу вместо встроенной функциональности системы индекса ресурсов пакетов (PRI). Любая строка, которая используется в качестве значения x:Uid, определяет путь к ресурсу, который начинается с ms-resource:///Resources/ и включает строку x:Uid. Путь завершается именами свойств, указанных в файле ресурсов, или каким-либо иным способом.

Не помещайте x:Uid в элементы свойства; это запрещено в XAML среды выполнения Windows.