{} 逸出序列/標記延伸
提供屬性值的 XAML 逸出序列。 逸出序列允許將 屬性中的後續值解譯為常值。
XAML 屬性使用方式
<object property="{} literalValue" .../>
XAML 屬性元素使用方式
<object>
<object.property>
{} literalValue
</object.property>
</object>
XAML 值
價值 | 描述 |
---|---|
literalValue | 緊接在逸出序列後面的常值字串。 此字串通常包含開啟或關閉大括弧 ({ 或 })。 |
言論
使用逸出序列 ({}),讓左大括弧 ({) 可用來做為 XAML 中的常值字元。
XAML 讀取器通常會使用左大括弧 ({) 來表示標記延伸的進入點;不過,它們會先檢查下一個字元,以判斷其是否為右大括號 (})。 只有當兩個大括弧({})相鄰時,它們才會被視為逸出序列。
如果遇到逸出序列,XAML 讀取器應該將字串的其餘部分當作字串來處理。 不過,如果逸出序列套用至具有類型轉換子的成員,則字串可能會在 XAML 寫入器解譯時進行類型轉換。
逸出序列不是標記延伸,而且不受類別支援。 不過,XAML 讀取器(包括自訂 XAML 讀取器)應該遵守的慣例。
引號 (“) 無法以此方式作為逸出序列。 如果您需要將引號設定為非content 屬性的屬性值,請使用 property 元素語法,並將引號放在屬性元素內做為字串,或使用 XML 字元實體。 對於 content 屬性,引號可以是整個內容。
在指定必須包含命名空間限定符的 XML 類型時,經常需要逸出序列 ({}), XAML 標記延伸可能會出現的位置。 這個位置包含 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