{} escape-последовательность или расширение разметки
Предоставляет escape-последовательность XAML для значений атрибутов. Escape-последовательность позволяет интерпретировать последующие значения в атрибуте как литерал.
Использование атрибута XAML
<object property="{} literalValue" .../>
Использование элемента свойства XAML
<object>
<object.property>
{} literalValue
</object.property>
</object>
Значения XAML
Ценность | Описание |
---|---|
литералЗначение | Литеральная строка, которая следует escape-последовательности. Обычно эта строка содержит открытую или закрывающую скобку ({ или }). |
Замечания
Escape-последовательность ({}) используется для использования открытой скобки ({) в качестве литерального символа в XAML.
Средства чтения XAML обычно используют открытую фигурную скобку ({) для обозначения точки входа расширения разметки, однако сначала проверяют следующий символ, чтобы определить, является ли он закрывающей скобкой (}). Только если два фигурных скобка ({}) находятся рядом, считаются ли они escape-последовательностью.
При обнаружении escape-последовательности средство чтения XAML должно обработать оставшуюся часть строки в виде строки. Однако если escape-последовательность применяется к элементу с преобразователем типов, строка может пройти преобразование типов при интерпретации модуля записи XAML.
Escape-последовательность не является расширением разметки и не поддерживается классом. Однако это соглашение о том, что средства чтения XAML (включая пользовательские средства чтения 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
- сущности символов XML и XAML
.NET Desktop feedback