Поделиться через


{} Escape-последовательность/расширение разметки

Обновлен: Ноябрь 2007

Предоставляет escape-последовательности XAML для значений атрибутов, позволяя последующим значениям в атрибуте интерпретироваться в качестве литералов.

Использование атрибута XAML

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

Использование элемента свойства XAML

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

Значения XAML

literalValue

На выходе получается символьная строка.

Заметки

Escape-последовательность {} используется для переключения символов "{" и "}", используемых для расширений разметки в синтаксисе атрибута. Строго говоря, сама escape-последовательность не является расширением разметки и не поддерживается классом. Все остальные расширения разметки XAML используют символы "{" и "}" как распознанные реализациями процессора XAML для выходящей обработки значений атрибутов, отличных от литералов или ссылок-обработчиков. Только особый случай двух фигурных скобок, расположенных рядом, будет рассматриваться как escape-последовательность. Дополнительные сведения см. в разделе Расширения разметки и XAML.

Эта escape-последовательность полезна, если литерал "{" необходимо использовать в качестве первого символа значения.

Обратите внимание, что знак кавычек ('') не может быть выведен таким образом. Если необходимо задать знак кавычек в качестве значения для свойства, не являющегося содержимым, используйте синтаксис элемента свойства и поместите знак кавычки в виде строки внутри элемента свойства или используйте сущность символов XML. Для свойства содержимого знак кавычек может быть всем содержимым.

Escape-последовательность {} часто требуется при указании типа XML, который должен включать квалификатор пространства имен в том месте, где должно отображаться расширение разметки XAML. Она включает начало значения атрибута XAML и внутри расширения разметки следует сразу после знака равенства. В следующем примере показаны escape-последовательности для пространства имен XML, которые отображаются в начале значения атрибута 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>

См. также

Основные понятия

Общие сведения о XAML

Расширения разметки и XAML

Ссылки

Сущности знаков XML и XAML