共用方式為


通用 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 標記技術
  • XAML 2009 語言基本型別
  • WPF 支援

先前針對語言基本型別的 XAML 標記技術

在先前 WPF 版本的 XAML 中,您可以藉由對應組件和命名空間 (這些項目包含 .NET Framework 的 CLR 基本型別定義類別),來參考 CLR 語言基本型別。 其中大部分都是在 mscorlib 組件和 System 命名空間中。 例如,若要使用 Int32,您可以宣告下列對應 (其下為範例使用說明):

<Application xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://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] 第 5.2.17 和 5.4.11 節 (英文)。

x:Char

就 CLR 支援而言,x:Char 基本型別會對應至 Char

字串和 char 型別與 XML 層級的檔案整體編碼有互動。 如需 XAML 語言規格定義的詳細資訊,請參閱 [MS-XAML] 第 5.2.7 和 5.4.1 節 (英文)。

x:String

就 CLR 支援而言,x:String 基本型別會對應至 String

字串和 char 型別與 XML 層級的檔案整體編碼有互動。 如需 XAML 語言規格定義的詳細資訊,請參閱 [MS-XAML] 第 5.2.6 節 (英文)。

x:Decimal

就 CLR 支援而言,x:Decimal 基本型別會對應至 Decimal

請注意,XAML 剖析是在 en-US 文化特性下完成。 在 en-US 文化特性下,不管開發環境的文化特性設定為何,或是在執行階段最終載入 XAML 的用戶端目標的文化特性設定為何,小數部分的正確分隔符號一律為句點 (.)。

如需 XAML 語言規格定義的詳細資訊,請參閱 [MS-XAML] 第 5.2.14 和 5.4.8 節 (英文)。

x:Single

就 CLR 支援而言,x:Single 基本型別會對應至 Single

除了數值之外,x:Single 的文字語法也允許 Infinity、-Infinity 和 NaN 語彙基元。 這些語彙基元區分大小寫。

x:Single 可以支援科學標記法格式的值,只要文字語法中的第一個字元是 e 或 E。

如需 XAML 語言規格定義的詳細資訊,請參閱 [MS-XAML] 第 5.2.8 和 5.4.2 節 (英文)。

x:Double

就 CLR 支援而言,x:Double 基本型別會對應至 Double

除了數值之外,x:Double 的文字語法也允許 Infinity、-Infinity 和 NaN 語彙基元。 這些語彙基元區分大小寫。

x:Double 可以支援科學標記法格式的值,只要文字語法中的第一個字元是 e 或 E。

如需 XAML 語言規格定義的詳細資訊,請參閱 [MS-XAML] 第 5.2.9 和 5.4.3 節 (英文)。

x:Int16

就 CLR 支援而言,x:Int16 基本型別會對應至 Int16,而且 x:Int16 會分正負號。 在 XAML 中,如果文字語法缺少加號 (+),就會視同帶正號的值。

如需 XAML 語言規格定義的詳細資訊,請參閱 [MS-XAML] 第 5.2.11 和 5.4.5 節 (英文)。

x:Int32

就 CLR 支援而言,x:Int32 基本型別會對應至 Int32。 x:Int32 會分正負號。 在 XAML 中,如果文字語法缺少加號 (+),就會視同帶正號的值。

如需 XAML 語言規格定義的詳細資訊,請參閱 [MS-XAML] 第 5.2.12 和 5.4.6 節 (英文)。

x:Int64

就 CLR 支援而言,x:Int64 基本型別會對應至 Int64。 x:Int64 會分正負號。 在 XAML 中,如果文字語法缺少加號 (+),就會視同帶正號的值。

如需 XAML 語言規格定義的詳細資訊,請參閱 [MS-XAML] 第 5.2.13 和 5.4.7 節 (英文)。

x:TimeSpan

就 CLR 支援而言,x:TimeSpan 基本型別會對應至 TimeSpan

請注意,XAML 的時間日期格式剖析是在 en-US 文化特性下完成。

如需 XAML 語言規格定義的詳細資訊,請參閱 [MS-XAML] 第 5.2.16 和 5.4.10 節 (英文)。

x:Uri

就 CLR 支援而言,x:Uri 基本型別會對應至 Uri

檢查通訊協定並不是 x:Uri 之 XAML 定義的一部分。

如需 XAML 語言規格定義的詳細資訊,請參閱 [MS-XAML] 第 5.2.15 和 5.4.9 節 (英文)。

x:Byte

就 CLR 支援而言,x:Byte 基本型別會對應至 ByteByte / x:Byte 不分正負號。

如需 XAML 語言規格定義的詳細資訊,請參閱 [MS-XAML] 第 5.2.10 和 5.4.4 節 (英文)。

x:Array

就 CLR 支援而言,x:Array 基本型別會對應至 Array

在 XAML 2006 中,您可以使用標記延伸語法來定義陣列;然而,XAML 2009 語法是由語言定義的基本型別,不需要存取標記延伸。 如需 XAML 2006 支援的詳細資訊,請參閱 x:Array 標記延伸

如需 XAML 語言規格定義的詳細資訊,請參閱 [MS-XAML] 第 5.2.18 節 (英文)。

WPF 支援

在 WPF 中,您可以使用 XAML 2009 功能,但是只能針對未進行標記編譯的 XAML。 WPF 的標記編譯 XAML 以及 XAML 的 BAML 表單目前不支援 XAML 2009 關鍵字和功能。

其中一個您可以將 XAML 2009 功能搭配 WPF 使用的情節是,您撰寫鬆散的 XAML,然後以 XamlReader.Load 將該 XAML 載入至 WPF 執行階段和物件圖形中。 WPF System.Windows.Markup.XamlReader 和其 Load 可以將 XAML 2009 語言關鍵字和功能處理成有效的物件圖形表示。