{} 转义序列/标记扩展
提供属性值的 XAML 转义序列。 转义序列允许将特性中的后续值解释为文本。
XAML 属性用法
<object property="{} literalValue" .../>
XAML 属性元素用法
<object>
<object.property>
{} literalValue
</object.property>
</object>
XAML 值
价值 | 描述 |
---|---|
literalValue | 转义序列后面的文本字符串。 通常,此字符串包含一个打开或关闭大括号({ 或 })。 |
言论
使用转义序列({}),以便可以在 XAML 中将打开大括号 ({) 用作文本字符。
XAML 读取器通常使用左大括号({)来表示标记扩展的入口点;但是,它们首先检查下一个字符以确定它是否为右大括号(})。 只有当两个大括号({})相邻时,它们才被视为转义序列。
如果遇到转义序列,XAML 读取器应将字符串的其余部分作为字符串进行处理。 但是,如果转义序列应用于具有类型转换器的成员,则字符串在 XAML 编写器解释时可能会进行类型转换。
转义序列不是标记扩展,不受类支持。 但是,XAML 读取器(包括自定义 XAML 读取器)应遵循的约定。
引号(“)不能以这种方式用作转义序列。 如果需要将引号设置为非常量属性的属性值,请使用属性元素语法并将引号作为字符串放在属性元素内,或使用 XML 字符实体。 对于内容属性,引号可以是整个内容。
指定必须在 XAML 标记扩展出现的位置中包含命名空间限定符的 XML 类型时,经常需要转义序列({})。 此位置包括 XAML 属性值的开头,并在等号(=)后立即在标记扩展中。 以下示例显示 XAML 属性值开头显示的 XML 命名空间的转义序列。
<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