Поделиться через


Атрибут x:Class

Настраивает компиляцию XAML для присоединения частичных классов между разметкой и кодом. Частичный класс кода определяется в отдельном файле кода, а частичный класс разметки создается путем создания кода во время компиляции XAML.

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

<object x:Class="namespace.classname"...>
  ...
</object>

Значения XAML

Срок Description
пространство имен Необязательно. Указывает пространство имен, содержащее частичный класс, определяемый по имени класса. Если задано пространство имен, точка (.) отделяет пространство имен и имя класса. Если пространство имен опущено, предполагается, что имя класса не имеет пространства имен.
classname Обязательный. Указывает имя частичного класса, который подключает загруженный XAML и код программной части для этого XAML.

Замечания

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

Класс, используемый как x:Class , не может быть вложенным классом.

Значение атрибута x:Class должно быть строкой, указывающей полное имя класса. Вы можете опустить сведения о пространстве имен до тех пор, пока код находится в структуре также (определение класса начинается на уровне класса). Файл кода программной части для определения страницы или приложения должен находиться в файле кода, который входит в состав проекта. Класс code-behind должен быть открытым. Класс code-behind должен быть частичным.

Правила языка CLR

Несмотря на то, что файл программной части может быть файлом C++, существуют определенные соглашения, которые по-прежнему соответствуют языковой форме СРЕДЫ CLR, поэтому нет различий в синтаксисе XAML. В частности, разделитель между пространством имен и компонентами имен любого значения x:Class всегда является точкой (".), несмотря на то, что разделитель между пространством имен и именем класса в файле кода C++, связанном с XAML, имеет значение "::". Если вы объявляете вложенные пространства имен в C++, разделитель между последовательными строками вложенных пространств имен также должен быть "." вместо ":", когда указывается часть пространства имен значения x:Class.