Condividi tramite


Associazione dell'estensione di markup

Aggiornamento: novembre 2007

Rinvia la trasformazione di un valore di proprietà in un valore associato a dati creando un oggetto di espressione intermedio e interpretando il contesto dati applicabile all'elemento in fase di esecuzione.

Utilizzo della sintassi XAML per gli attributi

<object property="{Binding}" .../>

-oppure-

<object property="{Binding  bindingPropertyName1=value,
  bindingPropertyName2=value,
  bindingPropertyNameN=value}" ...
/>

Utilizzo della sintassi XAML per gli elementi oggetto

<object>
  <object.property>
    <Binding/>
  </object.property>
</object>

-oppure-

<object>
  <object.property>
    <Binding      bindingPropertyName1="value"
      bindingPropertyName2="value"
      bindingPropertyNameN="value"
    />
  </object.property>
</object>

Tutte le proprietà elencate di seguito, che sarebbero impostate come coppia proprietà=valore nella sintassi dell'attributo dell'esempio, possono invece essere impostate come attributi dell'elemento Binding come definito nella sintassi dell'elemento oggetto.

Valori XAML

bindingPropertyName#

Name della proprietà Binding da impostare. Non tutte le proprietà Binding possono essere impostate con l'estensione Binding e alcune proprietà possono essere impostate solo utilizzando altre estensioni di markup nidificate. Vedere la sezione "Proprietà Binding che possono essere impostate con l'estensione Binding".

value

Valore su cui impostare la proprietà. La gestione del valore dell'attributo è fondamentalmente specifica per il tipo e la logica dell'oggetto bindingPropertyName che viene impostato.

Proprietà Binding che possono essere impostate con l'estensione Binding

La sintassi illustrata in questo argomento utilizza l'approssimazione generica bindingPropertyName=value perché esistono molte proprietà di lettura/scrittura di BindingBase o Binding che possono essere impostate utilizzando la sintassi di estensione di markup Binding e possono essere impostate in qualsiasi ordine. Fondamentalmente, è possibile impostare su zero una o più proprietà dell'elenco riportato di seguito, utilizzando le coppie proprietà=valore separate da virgole.

Molti di questi valori di proprietà richiedono tipi di oggetto che non supportano una conversione del tipo nativo; quindi per l'ulteriore utilizzo delle estensioni di markup ne richiedono l'impostazione come valore di attributo in XAML. Controllare la sezione Utilizzo della sintassi XAML per gli attributi nel riferimento di ciascuna proprietà per stabilire la sintassi dell'attributo appropriata.

Di seguito sono riportate le proprietà di Binding che non possono essere impostate utilizzando l'estensione di markup Binding.

Note

I segnaposto bindingPropertyName qui forniti corrispondono ai nomi di alcune proprietà impostabili dichiarate della classe Binding e le stringhe di valore equivalgono al modo in cui i valori di queste proprietà vengono impostate come attributo XAML in un oggetto Binding dichiarato come elemento XAML.

In questo argomento non viene trattata la descrizione dell'associazione dati come concetto. Vedere Cenni preliminari sull'associazione dati per i concetti e Cenni preliminari sulle dichiarazioni di associazione per ulteriori dettagli sulla sintassi alternativa. Le informazioni sulla sintassi alternativa includono la modalità di creazione di associazioni equivalenti per un numero di sintassi possibili, come ad esempio le proprietà di attributo di un elemento dell'oggetto Binding in XAML, la sintassi degli elementi proprietà di un oggetto Binding oppure la creazione procedurale di un'associazione utilizzando SetBinding o il costruttore Binding.

Nota importante:

In termini di precedenza della proprietà di dipendenza, un'espressione Binding equivale a un valore impostato localmente. Se viene impostato un valore locale per una proprietà che in precedenza conteneva un'espressione Binding, Binding viene completamente rimosso. Per informazioni dettagliate, vedere Precedenza del valore della proprietà di dipendenza.

Nota

MultiBinding e PriorityBinding non supportano la sintassi di estensione XAML nonostante condividano la stessa classe BindingBase che implementa effettivamente il comportamento XAML per Binding).

Binding è un'estensione di markup. Le estensioni di markup vengono solitamente implementate quando è necessario utilizzare i caratteri escape dei valori degli attributi per qualcosa di diverso rispetto ai valori letterali o ai nomi dei gestori. Questo requisito è più globale del semplice utilizzo di alcuni convertitori di tipi su determinati tipi o proprietà. Tutte le estensioni di markup in XAML utilizzano i caratteri { and } nella relativa sintassi dell'attributo e cioè la convenzione in base alla quale il processore XAML riconosce che l'attributo deve essere elaborato da un'estensione di markup. Per ulteriori informazioni, vedere Estensioni di markup e XAML. Binding è un'estensione di markup insolita, nel senso che la classe Binding che implementa la funzionalità dell'estensione implementa anche numerosi altri metodi e proprietà. Questi altri elementi non rappresentano direttamente un requisito della funzionalità dell'estensione di markup ma servono a rendere la classe Binding più versatile e indipendente per poter gestire molti scenari di associazione dati oltre a funzionare come estensione di markup XAML.

Vedere anche

Concetti

Cenni preliminari sull'associazione dati

Cenni preliminari sulle dichiarazioni di associazione

Cenni preliminari su XAML

Estensioni di markup e XAML

Riferimenti

Binding