Condividi tramite


Estensione del markup RelativeSource

Aggiornamento: novembre 2007

Specifica proprietà di un'origine di associazione RelativeSource, da utilizzare in un'Associazione dell'estensione di markup o per l'impostazione della proprietà RelativeSource di un elemento Binding in XAML.

Utilizzo della sintassi XAML per gli attributi

<Binding RelativeSource="{RelativeSource modeEnumValue}" .../>

Utilizzo della sintassi XAML per gli attributi (nidificati nell'estensione Binding)

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

Utilizzo della sintassi XAML per gli elementi oggetto

<Binding>
  <Binding.RelativeSource>
    <RelativeSource Mode="modeEnumValue"/>
  </Binding.RelativeSource>
</Binding>
- or 
<Binding>
  <Binding.RelativeSource>
    <RelativeSource
      Mode="FindAncestor"
      AncestorType="{x:Type typeName}"
      AncestorLevel="intLevel"
    />
  </Binding.RelativeSource>
</Binding>

Valori XAML

modeEnumValue

Uno dei seguenti:

  • Token stringa Self; corrisponde a un oggetto RelativeSource creato con la proprietà Mode impostata su Self.

  • Token stringa TemplatedParent; corrisponde a un oggetto RelativeSource creato con la proprietà Mode impostata su TemplatedParent.

  • Token stringa PreviousData; corrisponde a un oggetto RelativeSource creato con la proprietà Mode impostata su PreviousData.

  • Per informazioni sulla modalità FindAncestor, vedere di seguito.

FindAncestor

Token stringa FindAncestor. Con questo token si accede a una modalità in cui RelativeSource specifica un tipo predecessore e facoltativamente un livello predecessore. Corrisponde a un oggetto RelativeSource creato con la proprietà Mode impostata su FindAncestor.

typeName

Obbligatorio per la modalità FindAncestor. Nome di un tipo che riempie la proprietà AncestorType.

intLevel

Facoltativo per la modalità FindAncestor. Livello predecessore (valutato nella direzione padre dell'albero logico).

Note

Nella sintassi dell'elemento oggetto per la modalità FindAncestor illustrata sopra, la seconda sintassi dell'elemento oggetto è specificamente utilizzata per la modalità FindAncestor. La modalità FindAncestor richiede un valore AncestorType. È necessario impostare AncestorType come attributo utilizzando un riferimento Estensione del markup x:Type al tipo di predecessore da cercare. Il valore AncestorType viene utilizzato quando la richiesta di associazione viene elaborata in fase di esecuzione.

Per la modalità FindAncestor, la proprietà AncestorLevel facoltativa consente di rendere meno ambigua la ricerca del predecessore nei casi in cui vi sono più predecessori di tale tipo nella struttura ad albero dell'elemento.

Per informazioni dettagliate sull'utilizzo della modalità FindAncestor, vedere RelativeSource.

La descrizione dell'associazione dati come concetto non viene trattata in questo argomento; vedere Cenni preliminari sull'associazione dati.

Nell'implementazione del processore XAML WPF, la gestione di questa estensione di markup viene definita dalla classe RelativeSource.

RelativeSource è un'estensione di markup. Le estensioni di markup in genere vengono implementate quando è necessario utilizzare caratteri di escape per i valori di attributo per non utilizzarli come valori letterali o nomi dei gestori e tale requisito è più globale rispetto al semplice utilizzo di convertitori di tipi su alcuni tipi o proprietà. Tutte le estensioni di markup di XAML utilizzano i caratteri { e } nella relativa sintassi per gli attributi e grazie a questa convenzione il processore XAML riconosce che l'attributo deve essere elaborato da un'estensione di markup. Per ulteriori informazioni, vedere Estensioni di markup e XAML.

Vedere anche

Concetti

Applicazione di stili e modelli

Cenni preliminari su XAML

Estensioni di markup e XAML

Cenni preliminari sull'associazione dati

Cenni preliminari sulle dichiarazioni di associazione

Riferimenti

Binding

Estensione del markup x:Type