Share via


{} Sequência de escape / extensão de marcação

Fornece a sequência de escape XAML para valores de atributo. A sequência de escape permite que os valores subsequentes no atributo sejam interpretados como um literal.

Uso do Atributo XAML

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

Uso do elemento propriedade XAML

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

Valores XAML

Valor Descrição
literalValue A cadeia de caracteres literal que segue a sequência de escape. Normalmente, essa cadeia de caracteres contém uma chave de abertura ou fechamento ({ ou }).

Comentários

A sequência de escape () é usada para que uma chave aberta ({}{) possa ser usada como um caractere literal em XAML.

Os leitores XAML normalmente usam a chave aberta ({) para indicar o ponto de entrada de uma extensão de marcação, no entanto, eles primeiro verificam o próximo caractere para determinar se é uma chave de fechamento (}). Somente quando as duas chaves ({}) são adjacentes, elas são consideradas uma sequência de fuga.

Se a sequência de escape for encontrada, o leitor XAML deverá processar o restante da cadeia de caracteres como uma cadeia de caracteres. No entanto, se a sequência de escape for aplicada a um membro que tenha um conversor de tipo, a cadeia de caracteres poderá sofrer conversão de tipo quando for interpretada por um gravador XAML.

A sequência de escape não é uma extensão de marcação e não é apoiada por uma classe. No entanto, é uma convenção que os leitores XAML (incluindo leitores XAML personalizados) devem respeitar.

Uma aspa (") não pode ser usada como uma sequência de escape dessa maneira. Se você precisar definir uma aspa como um valor de propriedade para uma propriedade que não seja de conteúdo, use a sintaxe do elemento de propriedade e coloque as aspas como uma cadeia de caracteres dentro do elemento de propriedade ou use uma entidade de caractere XML. Para uma propriedade de conteúdo, as aspas podem ser o conteúdo inteiro.

A sequência de escape ({}) é frequentemente necessária ao especificar um tipo XML que deve incluir um qualificador de namespace em um local onde uma extensão de marcação XAML pode aparecer. Esse local inclui o início de um valor de atributo XAML e em uma extensão de marcação imediatamente após um sinal de igual (=). O exemplo a seguir mostra sequências de escape para um namespace XML que aparece no início de um valor de atributo 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>

Confira também