Condividi tramite


AmbientPropertyValue Classe

Definizione

Segnala informazioni su una proprietà di ambiente, come parte di un'implementazione IAmbientProvider .

public ref class AmbientPropertyValue
public class AmbientPropertyValue
type AmbientPropertyValue = class
Public Class AmbientPropertyValue
Ereditarietà
AmbientPropertyValue

Commenti

AmbientPropertyValue rappresenta un elemento informativo restituito chiamando un IAmbientProvider metodo di servizio. I metodi restituiscono enumerazioni o matrici di AmbientPropertyValue elementi. I GetAllGetFirst metodi restituiscono un singolo AmbientPropertyValueoggetto .

Informazioni sulle proprietà di ambiente

Una proprietà di ambiente è una proprietà il cui valore della proprietà deve essere disponibile per l'utilizzo del convertitore di valori nella struttura del nodo XAML e per l'oggetto grafico sottostante. Il concetto di ambiente è rilevante per un processore XAML durante la fase di scrittura dell'oggetto del percorso di caricamento o la fase di serializzazione di un percorso di salvataggio.

Un tipo può anche essere attribuito come ambiente. In questo caso, tutte le proprietà che usano il tipo con attributi vengono segnalate come ambiente.

Nel caso del percorso di caricamento, il valore della proprietà di ambiente potrebbe influenzare il valore prodotto dall'oggetto grafico di altre proprietà che esistono sotto di esso in una struttura di nodi XAML. Quando viene elaborato come flusso di nodi XAML, il concetto di ambiente implica che il valore della proprietà di ambiente deve essere disponibile per convertitori di tipi ed estensioni di markup da StartObject a EndObject. Analogamente, un convertitore di tipi o un'estensione di markup utilizzata per il percorso di salvataggio può cercare la proprietà di ambiente e il relativo valore. Di conseguenza, il codice XAML prodotto è una rappresentazione di round trip migliore.

In base alla definizione del linguaggio, XAML non specifica l'ordine in cui i membri di un oggetto devono essere elaborati. Tuttavia, qualsiasi valore della proprietà di ambiente deve essere elaborato prima dal lettore XAML in modo che il convertitore di tipi e l'utilizzo dell'estensione di markup contenuti in altre proprietà possano accedervi tramite il IAmbientProvider servizio.

DependsOn è un concetto simile che influenza anche l'ordine di elaborazione dei nodi XAML. Tuttavia, DependsOn può essere usato solo per le relazioni tra membri peer e nodi, ma non può influenzare tutti i discendenti. Inoltre, DependsOn influenza direttamente l'impostazione della proprietà dell'oggetto grafico, mentre la tecnica di ambiente si basa su convertitori di tipi o estensioni di markup. Nella tecnica ambientale deve essere presente anche un convertitore di tipi o una definizione di estensione di markup specifica. Spetta a ogni convertitore di tipi o estensione di markup determinare il modo in cui il valore della proprietà di ambiente deve essere interpretato e applicato alla posizione dell'oggetto grafico in cui viene usato il convertitore di tipi o l'estensione di markup.

Note sull'utilizzo di WPF

Uno scenario di proprietà di ambiente illustrato nel set di funzionalità WPF è Style.TargetType, che può qualificare le ricerche del nome di proprietà necessarie per altri valori. In questo caso, il Style.TargetType valore qualifica i Setter.Property valori nei nodi XAML sottostanti. Setter.Property usa il comportamento del convertitore di tipi per un oggetto DependencyProperty. Questo comportamento accede al valore di ambiente Style.TargetType eseguendo GetFirstAmbientValue query da un contesto del servizio disponibile per convertitori di tipi ed estensioni di markup.

Costruttori

Nome Descrizione
AmbientPropertyValue(XamlMember, Object)

Inizializza una nuova istanza della classe AmbientPropertyValue.

Proprietà

Nome Descrizione
RetrievedProperty

Ottiene l'identificatore di sistema del tipo XAML (XamlMember) che rappresenta la proprietà di ambiente.

Value

Ottiene il valore della proprietà di ambiente.

Metodi

Nome Descrizione
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche