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

Предоставляет уникальный идентификатор для элементов разметки. Во многих сценариях этот уникальный идентификатор используется процессами и инструментами локализации XAML.

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

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

Значения XAML

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

Замечания

В [MS-XAML] объект x:Uid определен как директива. Дополнительные сведения см. в разделе [MS-XAML] 7.3.6.

Директива x:Uidотделена от директивы x:Name как из-за заданного сценария локализации XAML, так и потому, что использующиеся для локализации идентификаторы не имеют зависимостей от результатов модели программирования x:Name. Кроме того, x:Name управляется областью имен XAML, x:Uid однако не подчиняется никакой концепции обеспечения уникальности, определенной на языке XAML. Процессоры XAML в широком смысле (процессоры, которые не входят в состав процесса локализации) не должны обеспечивать уникальность значений x:Uid. Эта ответственность концептуально лежит на отправителе значений. Ожидание уникальности значений x:Uid в одном источнике XAML разумно для объектов-получателей значений, таких как выделенные процессы глобализации или инструменты. Типичная модель уникальности заключается в том, что значения x:Uid уникальны в XML-файле, представляющем XAML.

Можно выбрать инструменты со значительным знанием конкретной схемы XAML, чтобы применить x:Uid только для по-настоящему локализуемых строк, а не для всех случаев, когда текстовое строковое значение встречается в разметке.

Платформы могут указать определенное свойство в своей объектной модели в качестве псевдонима для x:Uid, применяя атрибут UidPropertyAttribute к определяющему типу. Если платформа указывает определенное свойство, недопустимо указывать и элемент x:Uid, и псевдоним с псевдонимом в одном объекте. Если указаны и x:Uid, и элемент с псевдонимом, API служб XAML .NET обычно вызывается XamlDuplicateMemberException для этого случая.

Заметки об использовании WPF

Дополнительные сведения о роли x:Uid в процессе локализации WPF и в форме BAML XAML см. в разделе Глобализация для WPF или Uid

См. также