Атрибут 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.