{} Séquence d’échappement / extension de balisage

Fournit la séquence d’échappement XAML pour les valeurs d’attribut. La séquence d’échappement permet aux valeurs suivantes de l’attribut d’être interprétées comme un littéral.

Utilisation d'attributs XAML

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

Utilisation des éléments de propriété XAML

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

Valeurs XAML

Valeur Description
literalValue Chaîne littérale qui suit la séquence d’échappement. En règle générale, cette chaîne contient une accolade ouverte ou fermée ({ ou }).

Notes

La séquence d’échappement ({}) est utilisée afin qu’une accolade ouverte ({) puisse être utilisée comme caractère littéral en XAML.

Les lecteurs XAML utilisent généralement l’accolade ouverte ({) pour indiquer le point d’entrée d’une extension de balisage. Toutefois, ils case activée d’abord le caractère suivant pour déterminer s’il s’agit d’une accolade fermante (}). Seulement lorsque les deux accolades ({}) sont adjacentes, sont-elles considérées comme une séquence d’échappement.

Si la séquence d’échappement est rencontrée, le lecteur XAML doit traiter le reste de la chaîne sous forme de chaîne. Toutefois, si la séquence d’échappement est appliquée à un membre qui a un convertisseur de type, la chaîne peut subir une conversion de type lorsqu’elle est interprétée par un enregistreur XAML.

La séquence d’échappement n’est pas une extension de balisage et n’est pas sauvegardée par une classe. Toutefois, il s’agit d’une convention que les lecteurs XAML (y compris les lecteurs XAML personnalisés) doivent respecter.

Un guillemet (« ) ne peut pas être utilisé comme séquence d’échappement de cette façon. Si vous devez définir un guillemet comme valeur de propriété pour une propriété noncontent, utilisez la syntaxe de l’élément de propriété et placez le guillemet comme chaîne à l’intérieur de l’élément de propriété ou utilisez une entité de caractère XML. Pour une propriété de contenu, le guillemet peut être l’intégralité du contenu.

La séquence d’échappement ({}) est fréquemment requise lors de la spécification d’un type XML qui doit inclure un qualificateur d’espace de noms dans un emplacement où une extension de balisage XAML peut apparaître. Cet emplacement inclut le début d’une valeur d’attribut XAML et dans une extension de balisage immédiatement après un signe égal (=). L’exemple suivant montre des séquences d’échappement pour un espace de noms XML qui apparaît au début d’une valeur d’attribut 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>

Voir aussi