Partilhar via


IXamlNameResolver Interface

Definição

Descreve um serviço que pode retornar objetos especificados pelo nome XAML ou, como alternativa, retorna um token que adia a resolução de nomes. O serviço também pode retornar um conjunto enumerável de todos os objetos nomeados que estão em namescope XAML.

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

Comentários

Essa interface não se destina à implementação externa de cenários XAML típicos porque é um serviço. Esse serviço permite que extensões de marcação e conversores de tipo resolvam nomes XAML para outros objetos da mesma fonte XAML enquanto eles ainda estão em uma representação de nó XAML. O serviço pode ser usado para resolver referências de encaminhamento para qualquer mecanismo que dependa de nomes XAML para acesso não linear à produção de XAML ao redor. Para obter mais informações, consulte Conversores de tipo e extensões de marcação para XAML.

Conversores de tipo e extensões de marcação podem consultar IXamlNameResolver como um serviço no contexto de serviço fornecido por um gravador de objetos XAML, quando o gravador de objetos XAML invoca o comportamento de conversão de valor. Para obter mais informações, consulte Conversores de tipo e extensões de marcação para contextos XAML e de serviço disponíveis para conversores de tipo e extensões de marcação.

Esse serviço expõe uma API que pode adiar a resolução de nomes. A metáfora implementada pelo serviço é que os nomes que não podem ser resolvidos em uma primeira passagem em relação a um grafo parcial de nome-objeto devem ser armazenados e usados para criar o token de correção. No comportamento padrão, todos esses nomes são enviados para outra tentativa de resolução em uma segunda passagem. Na segunda passagem, o grafo de nome-objeto geral é concluído e todos os tokens de correção são capazes de resolver.

Observação

Mesmo que sejam permitidas por uma implementação específica, as referências de encaminhamento no XAML inevitavelmente têm consequências de desempenho. Como prática recomendada para XAML de qualidade de produção, evite referências de encaminhamento sempre que possível.

Propriedades

IsFixupTokenAvailable

Obtém um valor que determina se chamar GetFixupToken(IEnumerable<String>, Boolean) está disponível para resolver um nome em um token para resolução de encaminhamento.

Métodos

GetAllNamesAndValuesInScope()

Retorna um conjunto enumerável de todos os objetos nomeados no namescope XAML.

GetFixupToken(IEnumerable<String>)

Retorna um objeto que pode corrigir determinados padrões de marcação que produzem referências de encaminhamento.

GetFixupToken(IEnumerable<String>, Boolean)

Retorna um objeto que pode corrigir determinados padrões de marcação que produzem referências de encaminhamento.

Resolve(String)

Resolve um objeto de uma referência de nome.

Resolve(String, Boolean)

Resolve um objeto de uma referência de nome e fornece um valor de acompanhamento que informa se o objeto está totalmente inicializado para fins de gráfico de objeto.

Eventos

OnNameScopeInitializationComplete

Ocorre quando um processador XAML registrou todos os nomes relevantes para o namescope XAML de backup.

Aplica-se a

Confira também