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 завершен, и все маркеры исправления могут разрешаться.
Note
Даже если они разрешены определенной реализацией, переадресация ссылок в XAML неизбежно имеет последствия для производительности. Рекомендуется использовать xaml с высоким качеством рабочей среды, избежать переадресации ссылок по возможности.
Свойства
| Имя | Описание |
|---|---|
| IsFixupTokenAvailable |
Возвращает значение, определяющее, доступен ли вызов GetFixupToken(IEnumerable<String>, Boolean) для разрешения имени в токен для разрешения перенаправления. |
Методы
| Имя | Описание |
|---|---|
| GetAllNamesAndValuesInScope() |
Возвращает перечислимый набор всех именованных объектов в области имен XAML. |
| GetFixupToken(IEnumerable<String>, Boolean) |
Возвращает объект, который может исправить определенные шаблоны разметки, которые создают перенаправленные ссылки. |
| GetFixupToken(IEnumerable<String>) |
Возвращает объект, который может исправить определенные шаблоны разметки, которые создают перенаправленные ссылки. |
| Resolve(String, Boolean) |
Разрешает объект из ссылки на имя и предоставляет значение отслеживания, которое сообщает, полностью ли объект инициализирован для целей графа объектов. |
| Resolve(String) |
Разрешает объект из ссылки на имя. |
События
| Имя | Описание |
|---|---|
| OnNameScopeInitializationComplete |
Происходит, когда обработчик XAML зарегистрировал все соответствующие имена в резервной области имен XAML. |