IXamlNameResolver Интерфейс

Определение

Описывает службу, которая может возвращать объекты, указанные по имени XAML, или возвращает токен, который откладывает разрешение имен. Служба может также возвращать перечисляемый набор всех именованных объектов из области имен XAML.

public interface class IXamlNameResolver
public interface IXamlNameResolver
type IXamlNameResolver = interface
Public Interface IXamlNameResolver

Комментарии

Этот интерфейс не предназначен для внешней реализации типичных сценариев XAML, так как это служба. Эта служба позволяет расширениям разметки и преобразователям типов разрешать имена XAML другим объектам из того же источника XAML, пока они все еще находятся в представлении узла XAML. Эту службу можно использовать для разрешения переадресации ссылок на любой механизм, использующий имена XAML для нелинейного доступа к окружающей рабочей среде XAML. Дополнительные сведения см. в разделе "Преобразователи типов" и "Расширения разметки" для XAML.

Преобразователи типов и расширения разметки могут запрашивать IXamlNameResolver как службу в контексте службы, предоставляемом модулем записи объектов XAML, когда модуль записи объектов XAML вызывает поведение преобразования значений. Дополнительные сведения см. в разделе "Преобразователи типов" и "Расширения разметки" для XAML и контекстов служб, доступных для преобразователей типов и расширений разметки.

Эта служба предоставляет API, который может отложить разрешение имен. Метафора, реализованная службой, заключается в том, что имена, которые не могут быть разрешены в первом проходе к графу частичного объекта имен, должны храниться и использоваться для создания маркера исправления. В поведении по умолчанию все такие имена отправляются для другой попытки разрешения на второй проход. Во втором проходе завершается общий граф объектов name-object, и все маркеры исправления могут разрешаться.

Примечание

Даже если они разрешены определенной реализацией, пересылка ссылок в XAML неизбежно имеет последствия для производительности. Рекомендуется использовать xaml с высоким качеством в рабочей среде, чтобы избежать переадресации ссылок по возможности.

Свойства

IsFixupTokenAvailable

Получает значение, определяющее, доступен ли вызов метода GetFixupToken(IEnumerable<String>, Boolean) для разрешения имени в токен для разрешения ссылок вперед.

Методы

GetAllNamesAndValuesInScope()

Возвращает перечисляемый набор всех именованных объектов из области имен XAML.

GetFixupToken(IEnumerable<String>)

Возвращает объект, который может корректировать определенные шаблоны разметки, формирующие ссылки вперед.

GetFixupToken(IEnumerable<String>, Boolean)

Возвращает объект, который может корректировать определенные шаблоны разметки, формирующие ссылки вперед.

Resolve(String)

Разрешает объект из ссылки на имя.

Resolve(String, Boolean)

Разрешает объект по ссылке на имя и предоставляет значение отслеживания, указывающее, полностью ли инициализирован объект для целей графа объекта.

События

OnNameScopeInitializationComplete

Происходит, когда обработчик XAML зарегистрировал все соответствующие имена в резервной области имен XAML.

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

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