Partilhar via


IQueryAmbient Interface

Definição

Consulta se uma propriedade especificada deve ser tratada como ambiente no escopo atual.

public interface class IQueryAmbient
public interface IQueryAmbient
type IQueryAmbient = interface
Public Interface IQueryAmbient
Derivado

Comentários

A finalidade de um mecanismo de propriedade de ambiente é melhorar o tempo de análise informando um gravador de objeto XAML para evitar a instanciação de determinados objetos, nos casos em que se sabe que os objetos são para valores temporários e não úteis para um aplicativo de tempo de execução típico. Normalmente, pesquisas XAML ou processamento XAML de um acessador get de propriedade precisariam criar uma instância desses objetos para preencher a representação do grafo de objeto com valores prontos para uso.

IQueryAmbient tem um membro: IsAmbientPropertyAvailable.

IQueryAmbient é um mecanismo paralelo para AmbientAttribute. IQueryAmbient é o mecanismo especializado que evita o uso da reflexão para determinar informações e também pode agir situacionalmente (um determinado objeto pode optar por relatar true ou false para IsAmbientPropertyAvailable), enquanto o atributo é essencialmente análise estática). AmbientAttribute é o mecanismo geral que pode ser usado por gravadores de objetos XAML e que normalmente se correlaciona com as propriedades IsAmbient do sistema de tipo XAML dedicadas e IsAmbient.

Implementações do WPF de IQueryAmbient

No WPF, IQueryAmbient é usado para o processo de pesquisa do dicionário de recursos. O processo de pesquisa obtém valores sucessivos Resources em toda a árvore lógica do WPF, trabalhando em direção à raiz do escopo do recurso até que uma chave seja encontrada ou a chave seja determinada como não existir no escopo. Normalmente, fazer isso exigiria uma instanciação de cada ResourceDictionary vez para receber os resultados. Declarar o conteúdo de Resources como ambiente desde Resources que exista otimiza esse processo de pesquisa. No WPF, essa interface é implementada nos seguintes casos:

Métodos

IsAmbientPropertyAvailable(String)

Consulta se uma propriedade nomeada especificada pode ser considerada ambiente no escopo atual.

Aplica-se a

Confira também