IXamlType Интерфейс

Определение

Предоставляет средства для создания отчетов о системных особенностях типов XAML о типах XAML. С помощью этого контракта интерфейса средства синтаксического анализа XAML могут загружать любые пользовательские типы и их члены, определенные в приложении и на которые ссылается XAML-файлы.

public interface class IXamlType
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(2032200369, 41701, 18330, 189, 80, 108, 239, 60, 11, 73, 112)]
struct IXamlType
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.Guid(2032200369, 41701, 18330, 189, 80, 108, 239, 60, 11, 73, 112)]
public interface IXamlType
Public Interface IXamlType
Производный
Атрибуты

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)

Комментарии

Среда выполнения Windows — это собственный API на основе COM. Для написания кода приложения можно использовать несколько языков, включая языки Microsoft .NET и собственный C++. Среда выполнения Windows не включает отражение или систему типов в стиле CLR. При отсутствии такой системы типов платформа XAML для среда выполнения Windows нуждается в инфраструктуре и контрактах для распознавания и загрузки любых пользовательских типов, определенных в приложении и на которые ссылается XAML-файлы. Интерфейсы IXamlMember и IXamlType являются контрактом. Инфраструктура частично видна в виде созданного файла кода XamlTypeInfo.* (остаток имени файла зависит от используемого языка). Этот файл содержит разделяемый класс, который расширяет класс Application и реализует интерфейс IXamlMetadataProvider . Платформа СРЕДА ВЫПОЛНЕНИЯ WINDOWS XAML использует этот интерфейс для запроса сведений о типах, на которые ссылается XAML-файлы. Другие созданные файлы также используют IXamlMetadataProvider для обнаружения.

Примечание

XamlTypeInfo.* можно найти в папке obj вместе с другими созданными файлами . Для просмотра может потребоваться включить параметр Показать все файлы . Кроме того, если вы хотите выполнить шаг в коде определения типа, отключите функцию "Только мой код " в параметрах отладчика.

Свойства

BaseType

Возвращает IXamlType для непосредственного базового типа типа XAML. Определение этого значения основано на базовом типе для основных типов.

ContentProperty

Возвращает сведения О IXamlMember для свойства содержимого XAML данного объекта IXamlType.

FullName

Возвращает полное имя класса базового типа.

IsArray

Возвращает значение, указывающее, представляет ли IXamlType массив.

IsBindable

Возвращает значение, объявляющее, является ли тип привязываемым.

IsCollection

Возвращает значение, указывающее, представляет ли данный IXamlType коллекцию.

IsConstructible

Возвращает значение, указывающее, представляет ли этот тип IXamlType конструируемый тип в зависимости от определения XAML.

IsDictionary

Возвращает значение, указывающее, представляет ли данный тип IXamlType словарь или карту.

IsMarkupExtension

Возвращает значение, указывающее, представляет ли IXamlType расширение разметки.

ItemType

Возвращает значение, предоставляющее сведения о типе для свойства Items данного IXamlType.

KeyType

Возвращает значение, предоставляющее сведения о типе для свойства Key данного IXamlType, если этот тип IXamlType представляет словарь или карту.

UnderlyingType

Возвращает сведения для резервного типа.

Методы

ActivateInstance()

При выборе типа XAML задает его значения для инициализации и возвращает пригодный для использования экземпляр.

AddToMap(Object, Object, Object)

Добавляет элемент к пользовательскому типу карты.

AddToVector(Object, Object)

Добавляет элемент к пользовательскому типу вектора.

CreateFromString(String)

Создает системное представление типа на основе строки. Сценарий main для этого использования — создание значения перечисления и сопоставление соответствующего перечисления.

GetMember(String)

Возвращает сведения IXamlMember для определенного именованного элемента из этого IXamlType.

RunInitializer()

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

Применяется к

См. также раздел