AmbientPropertyValue Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Relata informações sobre uma propriedade de ambiente como parte de uma implementação IAmbientProvider.
public ref class AmbientPropertyValue
public class AmbientPropertyValue
type AmbientPropertyValue = class
Public Class AmbientPropertyValue
- Herança
-
AmbientPropertyValue
Comentários
AmbientPropertyValue representa um item de informação que é retornado chamando um IAmbientProvider método de serviço. Os GetAll
métodos retornam enumerações ou matrizes de AmbientPropertyValue itens; os GetFirst
métodos retornam um único AmbientPropertyValue.
Sobre propriedades de ambiente
Uma propriedade ambiente é uma propriedade cujo valor de propriedade deve estar disponível para o uso do conversor de valor na estrutura do nó XAML e para o grafo de objeto abaixo dela. O conceito de ambiente é relevante para um processador XAML durante a fase de gravação de objeto do caminho de carga ou a fase de serialização de um caminho de salvamento.
Um tipo também pode ser atribuído como ambiente. Nesse caso, todas as propriedades que usam o tipo atribuído são relatadas como ambiente.
No caso do caminho de carga, o valor da propriedade ambiente pode influenciar o valor produzido pelo grafo de objeto de outras propriedades que existem abaixo dele em uma estrutura de nó XAML. Quando processado como um fluxo de nó XAML, o conceito de ambiente implica que o valor da propriedade ambiente deve estar disponível para conversores de tipo e extensões de marcação de StartObject
até EndObject
. Da mesma forma, um conversor de tipo ou extensão de marcação usado para o caminho de salvamento pode pesquisar a propriedade ambiente e seu valor. Portanto, o XAML produzido é uma melhor representação de ida e volta.
Por sua definição de linguagem, o XAML não especifica a ordem na qual os membros de um objeto devem ser processados. No entanto, qualquer valor de propriedade ambiente deve ser processado primeiro pelo leitor XAML para que o conversor de tipo e o uso da extensão de marcação contidos em outras propriedades possam acessá-lo por meio do IAmbientProvider serviço.
DependsOn é um conceito semelhante que também influencia a ordem de processamento de nó XAML. No entanto, DependsOn só pode ser usado para relações de membro par e nó; ele não pode influenciar todos os descendentes. Além disso, DependsOn influencia diretamente a configuração da propriedade de grafo de objeto, enquanto a técnica de ambiente depende de conversores de tipo ou extensões de marcação. Na técnica de ambiente, também deve haver um conversor de tipo específico ou uma definição de extensão de marcação. Cabe a cada conversor de tipo ou extensão de marcação determinar como o valor da propriedade ambiente deve ser interpretado e aplicado ao local do grafo de objeto em que o conversor de tipo ou extensão de marcação é usado.
Notas de uso do WPF
Um cenário de propriedade ambiente ilustrado no conjunto de recursos do WPF é Style.TargetType, o que pode qualificar as pesquisas de nome de propriedade necessárias para outros valores. Nesse caso, o Style.TargetType valor qualifica os Setter.Property valores nos nós XAML abaixo dele. Setter.Property usa o comportamento do conversor de tipo para um DependencyProperty. Esse comportamento acessa o valor ambiente Style.TargetType consultando GetFirstAmbientValue de um contexto de serviço disponível para conversores de tipo e extensões de marcação.
Construtores
AmbientPropertyValue(XamlMember, Object) |
Inicializa uma nova instância da classe AmbientPropertyValue. |
Propriedades
RetrievedProperty |
Obtém o identificador de sistema do tipo XAML (XamlMember) que representa a propriedade do ambiente. |
Value |
Obtém o valor da propriedade de ambiente. |
Métodos
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |