IXamlNameResolver Interface

Definição

Descreve um serviço que pode devolver objetos especificados pelo nome XAML, ou, alternativamente, devolve um token que adia a resolução do nome. O serviço pode também devolver um conjunto enumerável de todos os objetos nomeados que estão no namescope XAML.

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

Observações

Esta interface não se destina à implementação externa de cenários XAML típicos porque é um serviço. Este serviço permite que extensões de marcação e conversores de tipos resolvam nomes XAML para outros objetos da mesma fonte XAML enquanto ainda estão numa representação de nó XAML. O serviço pode ser usado para resolver referências diretas para qualquer mecanismo que dependa de nomes XAML para acesso não linear à produção XAML envolvente. Para mais informações, consulte Conversores de Tipos e Extensões de Marcação para XAML.

Conversores de tipos e extensões de marcação podem consultar IXamlNameResolver como um serviço no contexto de serviço fornecido por um escritor de objetos XAML, quando o escritor de objetos XAML invoca o comportamento de conversão de valor. Para mais informações, consulte Conversores de Tipos e Extensões de Marcação para XAMLe Contextos de Serviço Disponíveis para Conversores de Tipos e Extensões de Marcação.

Este serviço expõe uma API que pode adiar a resolução do nome. A metáfora implementada pelo serviço é que nomes que não podem ser resolvidos numa primeira passagem contra um grafo parcial nome-objeto devem ser armazenados e usados para criar o token fixup. No comportamento padrão, todos esses nomes são submetidos para nova tentativa de resolução numa segunda tentativa. Na segunda passagem, o grafo nome-objeto geral está completo, e todos os tokens de fixup conseguem resolver.

Note

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

Propriedades

Name Description
IsFixupTokenAvailable

Obtém um valor que determina se a chamada GetFixupToken(IEnumerable<String>, Boolean) está disponível para resolver um nome num token para resolução direta.

Métodos

Name Description
GetAllNamesAndValuesInScope()

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

GetFixupToken(IEnumerable<String>, Boolean)

Devolve um objeto que pode corrigir certos padrões de marcação que produzem referências diretas.

GetFixupToken(IEnumerable<String>)

Devolve um objeto que pode corrigir certos padrões de marcação que produzem referências diretas.

Resolve(String, Boolean)

Resolve um objeto a partir de uma referência de nome e fornece um valor de rastreio que indica se o objeto está totalmente inicializado para efeitos de grafo de objetos.

Resolve(String)

Resolve um objeto a partir de uma referência de nome.

evento

Name Description
OnNameScopeInitializationComplete

Ocorre quando um processador XAML registou todos os nomes relevantes no namescope XAML de suporte.

Aplica-se a

Ver também