Dela via


{} Escape-sekvens/markeringstillägg

Innehåller XAML-escape-sekvensen för attributvärden. Escape-sekvensen gör att efterföljande värden i attributet kan tolkas som en literal.

XAML-attributanvändning

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

Användning av XAML-egenskapselement

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

XAML-värden

Värde Beskrivning
literalValue Den literalsträng som följer escape-sekvensen. Den här strängen innehåller vanligtvis en öppen eller nära klammerparentes ({ eller }).

Anmärkningar

Escape-sekvensen ({}) används så att en öppen klammerparentes ({) kan användas som ett literaltecken i XAML.

XAML-läsare använder vanligtvis den öppna klammerparentesen ({) för att ange startpunkten för ett markeringstillägg. De kontrollerar dock först nästa tecken för att avgöra om det är en avslutande klammerparentes (}). Endast när de två klammerparenteserna ({}) ligger intill, anses de vara en escape-sekvens.

Om escape-sekvensen påträffas bör XAML-läsaren bearbeta resten av strängen som en sträng. Men om escape-sekvensen tillämpas på en medlem som har en typkonverterare kan strängen genomgå typkonvertering när den tolkas av en XAML-skrivare.

Escape-sekvensen är inte ett markeringstillägg och backas inte upp av en klass. Det är dock en konvention som XAML-läsare (inklusive anpassade XAML-läsare) bör respektera.

Ett citattecken (") kan inte användas som en escape-sekvens på det här sättet. Om du behöver ange ett citattecken som ett egenskapsvärde för en icke-kontent egenskap använder du egenskapselementsyntaxen och placerar citattecknet som en sträng i egenskapselementet eller använder en XML-teckenentitet. För en innehållsegenskap kan citattecknet vara hela innehållet.

Escape-sekvensen ({}) krävs ofta när du anger en XML-typ som måste innehålla en namnområdeskvalificerare på en plats där ett XAML-markeringstillägg kan visas. Den här platsen innehåller starten av ett XAML-attributvärde och i ett markeringstillägg omedelbart efter ett likhetstecken (=). I följande exempel visas escape-sekvenser för ett XML-namnområde som visas i början av ett XAML-attributvärde.

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

Se även