Share via


{} Sequenza di escape/estensione di markup

Fornisce la sequenza di escape XAML per i valori degli attributi. La sequenza di escape consente di interpretare i valori successivi nell'attributo come valore letterale.

Uso della sintassi XAML per gli attributi

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

Utilizzo della sintassi XAML per elementi proprietà

<object>
  <object.property>
    {} literalValue
  </object.property>
</object>

Valori XAML

Valore Descrizione
literalValue Stringa letterale che segue la sequenza di escape. In genere questa stringa contiene una parentesi graffa aperta o chiusa ({ o }).

Osservazioni

La sequenza di escape ({}) viene usata in modo che sia possibile usare una parentesi graffa aperta ({) come carattere letterale in XAML.

I lettori XAML usano in genere la parentesi graffa aperta ({) per indicare il punto di ingresso di un'estensione di markup. Tuttavia, controllano innanzitutto il carattere successivo per determinare se si tratta di una parentesi graffa di chiusura (}). Solo quando le due parentesi graffe ({}) sono adiacenti, sono considerate una sequenza di escape.

Se viene rilevata la sequenza di escape, il lettore XAML deve elaborare il resto della stringa come stringa. Tuttavia, se la sequenza di escape viene applicata a un membro con un convertitore di tipi, la stringa potrebbe subire una conversione del tipo quando viene interpretata da un writer XAML.

La sequenza di escape non è un'estensione di markup e non è supportata da una classe . Tuttavia, è una convenzione che i lettori XAML (inclusi i lettori XAML personalizzati) devono rispettare.

Una virgoletta (") non può essere utilizzata come sequenza di escape in questo modo. Se è necessario impostare una virgoletta come valore della proprietà per una proprietà noncontent, utilizzare la sintassi degli elementi proprietà e inserire le virgolette come stringa all'interno dell'elemento proprietà oppure utilizzare un'entità carattere XML. Per una proprietà di contenuto, le virgolette possono essere l'intero contenuto.

La sequenza di escape ({}) è spesso necessaria quando si specifica un tipo XML che deve includere un qualificatore dello spazio dei nomi in una posizione in cui potrebbe essere visualizzata un'estensione di markup XAML. Questo percorso include l'inizio di un valore dell'attributo XAML e in un'estensione di markup immediatamente dopo un segno di uguale (=). L'esempio seguente mostra le sequenze di escape per uno spazio dei nomi XML visualizzato all'inizio di un valore di attributo XAML.

<StackPanel Name="stacky">
  <StackPanel.Resources>
    <DataTemplate DataType="{}{http://planetsNS}Planet" >
      <StackPanel Orientation="Horizontal">
        <TextBlock Width="100" Text="{Binding Path=Element[{http://planetsNS}DiameterKM].Value}" />
        <TextBlock Width="100" Text="{Binding Path=Attribute[Name].Value}" />
        <TextBlock Text="{Binding Path=Element[{http://planetsNS}Details].Value}" /> 
      </StackPanel>
    </DataTemplate>
  </StackPanel.Resources>

Vedi anche