共用方式為


x:Array 標記延伸

透過標記延伸,提供 XAML 中對象的陣列一般支援。 這會對應至 [MS-XAML] 中 x:ArrayExtension XAML 類型。

XAML 物件專案使用方式

<x:Array Type="typeName">
  arrayContents
</x:Array>

XAML 值

價值 描述
typeName x:Array 將包含的類型名稱。 typeName 可能前面加上包含 XAML 類型定義的 XAML 命名空間。
arrayContents 指派給內部 ArrayExtension.Items 屬性的項目內容。 一般而言,這些專案會指定為 x:Array 開頭和結尾標記中包含的一或多個對象專案。 此處指定的物件應該可指派給 typeName中指定的 XAML 類型。

言論

Type 是所有 x:Array 物件元素的必要屬性。 Type 參數值不需要使用 x:Type 標記延伸;型別的簡短名稱是 XAML 類型,可以指定為字串。

在 .NET XAML 服務實作中,輸入 XAML 類型和所建立數位的輸出 CLR Type 之間的關聯性會受到標記延伸的服務內容所影響。 輸出 Type 是輸入 XAML 類型的 UnderlyingType,在根據 XAML 架構內容和內容所提供的 IXamlTypeResolver 服務來查閱必要的 XamlType 之後。

處理時,會將數位內容指派給 ArrayExtension.Items 內部屬性。 在 ArrayExtension 實作中,這會以 ArrayExtension.Items表示。

在 .NET XAML 服務實作中,這個標記延伸的處理是由 ArrayExtension 類別所定義。 ArrayExtension 未密封,而且可作為自定義數位類型的標記延伸實作的基礎。

x:Array 更適用於 XAML 中的一般語言擴充性。 但是,x:Array 也可用於指定特定屬性的 XAML 值,以 XAML 支援的集合做為其結構化屬性內容。 例如,您可以使用 x:Array 用法來指定 IEnumerable 屬性的內容。

x:Array 是標記延伸。 當需要逸出屬性值而非常值或處理程式名稱時,通常會實作標記延伸,而且需求比將型別轉換子放在特定類型或屬性上更全域。 x:Array 是該規則的部分例外狀況,因為與其提供替代屬性值處理,x:Array 提供其內部文字內容的替代處理。 此行為可讓現有內容模型可能不支援的類型分組為陣列,並在稍後透過存取具名陣列的程式代碼後置中參考;您可以呼叫 Array 方法來取得個別數位專案。

XAML 中的所有標記延伸都會使用大括弧({,}) 其屬性語法,這是 XAML 處理器辨識標記延伸必須處理屬性值的慣例。 如需一般標記延伸的詳細資訊,請參閱 XAML 的型別轉換器和標記延伸

在 XAML 2009 中,x:Array 定義為語言基本類型,而不是標記延伸。 如需詳細資訊,請參閱 Common XAML Language Primitives的內建類型。

WPF 使用方式注意事項

一般而言,填入 x:Array 的物件專案不是存在於 WPF XAML 命名空間中的專案,而且需要前置詞對應至非預設的 XAML 命名空間。

例如,下列是兩個字串的簡單數位,具有在數位層級定義的 sys 前置詞(以及 x)。

<x:Array Type="sys:String"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:sys="clr-namespace:System;assembly=mscorlib">
  <sys:String>Hello</sys:String>
  <sys:String>World</sys:String>
</x:Array>

針對做為數位元素的自定義類型,類別也必須支援在 XAML 中具現化為物件元素的需求。 如需詳細資訊,請參閱 WPF的 XAML 和自定義類別。

另請參閱