{}-Escapesequenz/Markuperweiterung

Aktualisiert: November 2007

Stellt die XAML-Escapesequenz für Attributwerte bereit, die es ermöglicht, die nachfolgenden Werte im Attribut als Literal zu interpretieren.

Verwendung von XAML-Attributen

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

Verwendung von XAML-Eigenschaftenelementen

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

XAML-Werte

literalValue

Die Literalzeichenfolge, die mit Escapezeichen versehen wird.

Hinweise

Die {}-Escapesequenz wird verwendet, um die Zeichen { und }, die für Markuperweiterungen in der Attributsyntax verwendet werden, mit Escapezeichen zu versehen. Die Escapesequenz selbst ist streng genommen keine Markuperweiterung und wird nicht durch eine Klasse gestützt. Alle anderen Markuperweiterungen in XAML verwenden die Zeichen { und }, die durch XAML-Prozessorimplementierungen erkannt werden, um Attributwerten mit Escapezeichen zu versehen, damit sie nicht als Literale oder Handlerverweise behandelt werden. Nur der Sonderfall der zwei geschweiften Klammern nebeneinander wird als Escapesequenz behandelt. Weitere Informationen finden Sie unter Markuperweiterungen und XAML.

Diese Escapesequenz ist nützlich, wenn Sie das Literalzeichen { als erstes Zeichen eines Werts festlegen möchten.

Beachten Sie, dass ein Anführungszeichenzeichen (") nicht auf diese Art mit Escapezeichen versehen werden kann. Wenn Sie ein Anführungszeichen als Eigenschaftenwert für eine Nicht-Inhaltseigenschaft festlegen müssen, verwenden Sie die Syntax des Eigenschaftenelements und platzieren das Anführungszeichen als Zeichenfolge innerhalb des Eigenschaftenelements oder verwenden eine XML-Zeichenentität. Bei einer Inhaltseigenschaft kann das Anführungszeichen der ganze Inhalt sein.

Die {}-Escapesequenz ist oft erforderlich, wenn Sie an einer Position, an der XAML-Markuperweiterungen auftreten können, einen XML-Typ angeben, der einen Namespacequalifizierer beinhalten muss. Beispiele: am Anfang eines XAML-Attributwerts und innerhalb einer Markuperweiterung unmittelbar nach einem Gleichheitszeichen. Das folgende Beispiel zeigt Escapezeichen für einen XML-Namespace am Anfang eines XAML-Attributwerts.

<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>

Siehe auch

Konzepte

Übersicht über XAML

Markuperweiterungen und XAML

Referenz

XML-Zeichenentitäten und XAML