IXamlNameResolver Interfaz
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Describe un servicio que puede devolver objetos especificados por nombre XAML o bien devuelve un token que difiere la resolución de nombres. El servicio también puede devolver un conjunto enumerable de todos los objetos con nombre que están en el ámbito de nombres XAML.
public interface class IXamlNameResolver
public interface IXamlNameResolver
type IXamlNameResolver = interface
Public Interface IXamlNameResolver
Comentarios
Esta interfaz no está pensada para la implementación externa de escenarios XAML típicos porque es un servicio. Este servicio permite que las extensiones de marcado y los convertidores de tipos resuelvan nombres XAML en otros objetos del mismo origen XAML mientras siguen en una representación de nodo XAML. El servicio se puede usar para resolver referencias reenviadas para cualquier mecanismo que se base en nombres XAML para el acceso no lineal a la producción XAML circundante. Para obtener más información, consulta Convertidores de tipos y extensiones de marcado para XAML.
Los convertidores de tipos y las extensiones de marcado pueden consultar IXamlNameResolver como servicio en el contexto de servicio proporcionado por un escritor de objetos XAML, cuando el escritor de objetos XAML invoca el comportamiento de conversión de valores. Para obtener más información, consulta Convertidores de tipos y extensiones de marcado para xaml y contextos de servicio disponibles para convertidores de tipos y extensiones de marcado.
Este servicio expone una API que puede aplazar la resolución de nombres. La metáfora implementada por el servicio es que los nombres que no se pueden resolver en un primer paso en un gráfico parcial de objetos de nombre deben almacenarse y usarse para crear el token de corrección. En el comportamiento predeterminado, todos estos nombres se envían para otro intento de resolución en un segundo paso. En el segundo paso, se completa el gráfico de nombres y objetos generales y todos los tokens de corrección pueden resolverse.
Nota
Incluso si se permiten mediante una implementación determinada, las referencias reenviadas en XAML inevitablemente tienen consecuencias de rendimiento. Como procedimiento recomendado para XAML de calidad de producción, evite las referencias reenviadas siempre que sea posible.
Propiedades
IsFixupTokenAvailable |
Obtiene un valor que determina si se puede llamar al método GetFixupToken(IEnumerable<String>, Boolean) para resolver un nombre en un token para la resolución hacia delante. |
Métodos
GetAllNamesAndValuesInScope() |
Devuelve un conjunto enumerable de todos los objetos con nombre en el ámbito de nombres XAML. |
GetFixupToken(IEnumerable<String>) |
Devuelve un objeto que puede corregir determinados modelos de marcado que generan referencias adelantadas. |
GetFixupToken(IEnumerable<String>, Boolean) |
Devuelve un objeto que puede corregir determinados modelos de marcado que generan referencias adelantadas. |
Resolve(String) |
Resuelve un objeto de una referencia de nombre. |
Resolve(String, Boolean) |
Resuelve un objeto de una referencia de nombre y proporciona un valor de seguimiento que indica si el objeto se inicializa totalmente para los gráficos de objetos. |
Eventos
OnNameScopeInitializationComplete |
Se produce cuando un procesador XAML ha registrado todos los nombres pertinentes en el ámbito de nombres XAML de respaldo. |