通用 XAML 語言基本類型的內建類型
XAML 2009 引進了數種數據類型的 XAML 語言層級支援,這些數據類型在 Common Language Runtime (CLR) 和其他程式設計語言中經常使用的基本類型。 XAML 2009 新增了這些基本類型的支援:x:Object
、x:Boolean
、x:Char
、x:String
、x:Decimal
、x:Single
、x:Double
、x:Int16
、x:Int32
、x:Int64
、x:TimeSpan
、x:Uri
、x:Byte
和 x:Array
XAML 標記中語言基本類型先前的技術
在舊版 WPF 的 XAML 中,您可以對應包含 .NET Framework CLR 基本定義類別的元件和命名空間,以參考 CLR 語言基本類型。 其中大部分都位於 mscorlib 元件和 System 命名空間中。 例如,若要使用 Int32,您可以宣告下列對應(之後顯示的範例使用方式):
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
<Application.Resources>
<sys:Int32 x:Key="intMeaning">42</sys:Int32>
</Application.Resources>
</Application>
XAML 2009 語言基本類型
依照慣例,會顯示 XAML 和所有其他 XAML 語言項目的語言基本類型,包括 x:
前置詞。 這就是 XAML 語言元素通常用於真實世界標記的方式。 這個慣例會遵循 WPF 中 XAML 的概念檔,以及 XAML 規格。
x:Object
針對 CLR 支援,x:Object
基本類型會對應至 Object。
此基本類型通常不會用於應用程式標記,但在某些案例中可能很有用,例如檢查 XAML 類型系統中的可指派性。
x:Boolean
針對 CLR 支援,x:Boolean
基本類型會對應至 Boolean。
XAML 會將 x:Boolean
的值剖析為不區分大小寫。 請注意,x:Bool
不是公認的替代方案。 如需 XAML 語言規格定義,請參閱 [MS-XAML] 區段 7.2.17 和 7.4.11。
x:Char
針對 CLR 支援,x:Char
基本類型會對應至 Char。
字串和 char 類型與 XML 層級檔案的整體編碼方式互動。 如需 XAML 語言規格定義,請參閱 [MS-XAML] 區段 7.2.7 和 7.4.1。
x:String
針對 CLR 支援,x:String
基本類型會對應至 String。
字串和 char 類型與 XML 層級檔案的整體編碼方式互動。 如需 XAML 語言規格定義,請參閱 [MS-XAML] 區段 7.2.6。
x:Decimal
針對 CLR 支援,x:Decimal
基本類型會對應至 Decimal。
XAML 剖析原本就是在 en-US
文化特性下完成。 在 en-US
文化特性下,小數點元件的正確分隔符一律是句點(.
),不論開發環境的文化特性設定為何,或是 XAML 在運行時間載入的最終客戶端目標。
如需 XAML 語言規格定義,請參閱 [MS-XAML] 區段 7.2.14 和 7.4.8。
x:Single
針對 CLR 支援,x:Single
基本類型會對應至 Single。
除了數值之外,x:Single
的文字語法也允許標記 Infinity
、-Infinity
和 NaN
。 這些令牌會被視為區分大小寫。
如果文字語法中的第一個字元是 e
或 E
,x:Single
可以支持科學表示法形式的值。
如需 XAML 語言規格定義,請參閱 [MS-XAML] 區段 7.2.8 和 7.4.2。
x:Double
針對 CLR 支援,x:Double
基本類型會對應至 Double。
除了數值之外,x:Double
的文字語法還允許標記 Infinity
、-Infinity
和 NaN
。 這些令牌會被視為區分大小寫。
x:Double
可以支持科學表示法形式的值。 使用字元 e
或 E
來介紹指數部分。
如需 XAML 語言規格定義,請參閱 [MS-XAML] 區段 7.2.9 和 7.4.3。
x:Int16
針對 CLR 支援,x:Int16
基本類型對應至 Int16,且 x:Int16
會被視為已簽署。 在 XAML 中,沒有加號 (+
) 登入文字語法會隱含為正帶正負號值。
如需 XAML 語言規格定義,請參閱 [MS-XAML] 區段 7.2.11 和 7.4.5。
x:Int32
針對 CLR 支援,x:Int32
基本類型會對應至 Int32。
x:Int32
會被視為已簽署。 在 XAML 中,沒有加號 (+
) 登入文字語法會隱含為正帶正負號值。
如需 XAML 語言規格定義,請參閱 [MS-XAML] 區段 7.2.12 和 7.4.6。
x:Int64
針對 CLR 支援,x:Int64
基本類型會對應至 Int64。
x:Int64
會被視為已簽署。 在 XAML 中,沒有加號 (+
) 登入文字語法會隱含為正帶正負號值。
如需 XAML 語言規格定義,請參閱 [MS-XAML] 區段 7.2.13 和 7.4.7。
x:TimeSpan
針對 CLR 支援,x:TimeSpan
基本類型會對應至 TimeSpan。
時間日期格式的 XAML 剖析原本就是在 en-US
文化特性下完成。
如需 XAML 語言規格定義,請參閱 [MS-XAML] 區段 7.2.16 和 7.4.10。
x:Uri
針對 CLR 支援,x:Uri
基本類型會對應至 Uri。
檢查通訊協定不是 x:Uri
XAML 定義的一部分。
如需 XAML 語言規格定義,請參閱 [MS-XAML] 區段 7.2.15 和 7.4.9。
x:Byte
針對 CLR 支援,x:Byte
基本類型會對應至 Byte。
Byte
/
x:Byte
會被視為不帶正負號。
如需 XAML 語言規格定義,請參閱 [MS-XAML] 區段 7.2.10 和 7.4.4。
x:Array
針對 CLR 支援,x:Array
基本類型會對應至 Array。
您可以使用標記延伸語法,在 XAML 2006 中定義陣列;不過,XAML 2009 語法是語言定義的基本類型,不需要存取標記延伸。 如需 XAML 2006 支援的詳細資訊,請參閱 x:Array 標記延伸。
如需 XAML 語言規格定義,請參閱 [MS-XAML] 區段 7.2.18。
WPF 支援
在 WPF 中,您可以使用 XAML 2009 功能,但僅適用於未編譯標記的 XAML。 WPF 和 BAML 形式的標記編譯 XAML 目前不支援 XAML 2009 關鍵詞和功能。
您可以搭配 WPF 使用 XAML 2009 功能的案例是,如果您撰寫鬆散的 XAML,然後使用 XamlReader.Load將 XAML 載入 WPF 運行時間和物件圖形。 WPF System.Windows.Markup.XamlReader 及其 Load 可以將 XAML 2009 語言關鍵詞和功能處理成有效的物件圖形表示法。