共用方式為


x:Type 標記延伸

更新:2007 年 11 月

供給所提供型別的 Type 物件。

XAML 屬性使用方式

<object property="{x:Type prefix:typeNameValue}" .../>

XAML 物件項目使用方式

<object>
  <object.property>
    <x:Type TypeName="prefix:typeNameValue"/>
  </object.property>
</object>

XAML 值

prefix

選擇項。對應非預設 XML 命名空間的前置詞。通常不需要指定前置字元,請參閱「備註」。

typeNameValue

必要項。型別名稱,可以解析為目前的預設 XML 命名空間,或是提供 prefix 時的指定對應前置字元。

備註

x:Type 用於對採用 Type 的屬性 (Property) 提供屬性 (Attribute) 值。然而,許多接受 Type 做為值的屬性 (Property),能夠直接接受型別名稱 (型別的 Name 的字串值),如需詳細資訊,請查看特定屬性 (Property) 的文件。x:Type 在本質上是下列項目的標記延伸對等用法:C# 的 typeof() 運算子,或是 Microsoft Visual Basic .NET 的 GetType 運算子。

您會在根項目上將任何指定 XAML 頁面的預設 XML 命名空間定義為屬性 (Attribute)。通常在 Windows Presentation Foundation (WPF) 程式設計中會使用 WPF 命名空間做為預設的 XML 命名空間。該命名空間的識別項是 https://schemas.microsoft.com/winfx/2006/xaml/presentation。大部分針對常見 WPF 應用程式設計而提供的型別都在這個命名空間內。因此,您通常不需要對應前置字元,即可在使用 x:Type 時取得型別。如果參考的型別來自於自訂組件,或是當型別存在於 WPF 組件中,但所屬的 CLR 命名空間卻沒有對應到該組件 WPF 命名空間的一部分,就需要對應前置字元。如需前置詞、XML 命名空間和對應 CLR 命名空間的詳細資訊,請參閱 XAML 命名空間和命名空間對應

屬性 (Attribute) 語法是最常配合這個標記延伸使用的語法。x:Type 識別項字串後提供的字串語彙基元,是指派做為基礎 TypeExtension 延伸類別的 TypeName 值。這個屬性的值是所需型別的 Name

x:Type 可以用於物件項目語法中。在這個情況下,必須要指定 TypeName 屬性的值,才能適當初始化延伸。

x:Type 也可以用於會指定 TypeName 屬性 (Property) 做為 property=value 配對組的詳細屬性 (Attribute) 使用方式中。

<object property="{x:Type TypeName=typeNameValue}" .../>

繁複的使用方法所適用的擴充,通常是具有一個以上可設定屬性或有些屬性為選擇性。因為 x:Type 只有一個必要的可設定屬性,所以這種詳細使用方式並不常見。

在 WPF XAML 處理器實作中,這個標記延伸的處理是由 TypeExtension 類別定義的。

x:Type 是一種標記延伸。如果必須將屬性 (Attribute) 值加上逸出符號,以免成為常值或處理常式名稱,而且這個動作必須更全面地實施 (而不是只對特定型別或屬性 (Property) 設定型別轉換子 (Type Converter)),則通常會實作標記延伸。所有 XAML 標記延伸都會在其屬性 (Attribute) 語法中使用 { 與 } 字元,這個慣例讓 XAML 處理器知道某個標記延伸必須處理這個屬性 (Attribute)。如需詳細資訊,請參閱標記延伸和 XAML

請參閱

概念

設定樣式和範本

XAML 概觀

標記延伸和 XAML

參考

Style