Атрибут x:Class
Настраивает компиляцию XAML для объединения разделяемых классов разметки и кода программной части. Разделяемый класс кода определяется в отдельном файле кода, а разделяемый класс разметки создается при формировании кода во время компиляции XAML.
Использование атрибутов XAML
<object x:Class="namespace.classname"...>
...
</object>
Значения XAML
Термин | Описание |
---|---|
namespace | Необязательный элемент. Указывает пространство имен, которое содержит разделяемый класс, определяемый classname. Если namespace указано, то namespace и classname должны быть разделены точкой ("."). Если namespace пропущено, то classname может не иметь пространства имен. |
classname | Обязательный. Указывает имя разделяемого класса, который объединяет загруженный код XAML и ваш код программной части для этого XAML. |
Комментарии
x:Class может быть объявлен как атрибут любого элемента, который является корнем дерева файлов и объектов XAML и компилируется действиями сборки, или корня Application в определении скомпилированного приложения. Назначение x:Class любому элементу, кроме корневого узла, а также XAML-файлу, который не был скомпилирован с действием сборки Page, при любых условиях выдаст ошибку времени компиляции.
Класс, используемый в качестве x:Class, не может быть вложенным классом.
Значение атрибута x:Class должно быть строкой, которая указывает полное имя класса. Вы можете пропустить сведения о пространстве имен при условии, что код программной части структурирован следующим образом: определение вашего класса начинается на уровне класса. Файл кода программной части страницы или определения приложения должен быть частью файла кода, включенного в проект. Класс кода программной части должен быть общим. Класс кода программной части должен быть разделяемым.
Языковые правила среды CLR
Хотя ваш файл кода программной части может быть написан на языке C++, существуют определенные соглашения, до сих пор следующие языковой форме среды CLR таким образом, что в синтаксисе XAML отсутствуют расхождения. В частности, разделителем между пространством имен и компонентами имени класса любого значения x:Class всегда является точка ("."), хотя в файле кода на языке C++, связанном с XAML, разделителем между пространством имен и именем класса служит "::". Если вы объявляете вложенные пространства имен в C++, то, когда вы указываете часть namespace значения x:Class, в качестве разделителя между последовательными строками вложенных пространств имен следует использовать точку (".") вместо "::".
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по