DataTemplate.DataType 屬性

定義

為預期為 DataTemplate 的項目取得或設定類型。

public:
 property System::Object ^ DataType { System::Object ^ get(); void set(System::Object ^ value); };
public object DataType { get; set; }
[System.Windows.Markup.Ambient]
public object DataType { get; set; }
member this.DataType : obj with get, set
[<System.Windows.Markup.Ambient>]
member this.DataType : obj with get, set
Public Property DataType As Object

屬性值

預設值是 null

屬性

備註

這個屬性與 類別的 Style 屬性非常類似 TargetType 。 當您將這個屬性設定為資料類型而不指定 x:Key 時,會自動 DataTemplate 將 套用至該型別的資料物件。 請注意,當您這麼做時,會 x:Key 隱含地設定 。 因此,如果您指派此值 DataTemplatex:Key ,則會覆寫隱含 x:Key 的 ,而且 DataTemplate 不會自動套用 。

另請注意,如果您要將 系結 ContentControl 至 物件的集合 Task ,則 ContentControl 不會自動使用 DataTemplate 。 這是因為 上的 ContentControl 系結需要更多資訊來區別您要系結至整個集合或個別物件。 ContentControl如果您要追蹤類型的選取 ItemsControl 專案,您可以將系結的 ContentControl 屬性設定 Path 為 「 / 」,以指出您對目前專案感興趣。 如需範例,請參閱 如何:系結至集合,並根據選取範圍顯示資訊。 否則,您必須藉由設定 ContentTemplate 屬性來明確指定 DataTemplate

當您有 CompositeCollection 不同類型的資料物件時,屬性 DataType 特別有用。

如果此屬性以不在預設命名空間中的 XML 專案為目標,您必須在元素名稱前面加上命名空間或命名空間指示項。 針對透過 LINQ for XML 公開的 XML,命名空間會出現在大括弧中,前面加上大括弧逸出序列:

<DataTemplate DataType="{}{http://myNamespace}Details">  

對於透過 XPath 公開的 XML,元素名稱前面會加上 由 實例建立的 XmlNamespaceMapping 命名空間指示項:

<DataTemplate DataType="mn:Details">  

XAML Attribute Usage

<object DataType="typeName"/>  

XAML 值

typeName
如果範本適用于物件資料,則此屬性會包含資料物件的類型名稱, (為字串) 。 若要參考類別的類型名稱,請使用 x:Type 標記延伸。 如果範本適用于 XML 資料,這個屬性會包含 XML 專案名稱。 如需指定 XML 專案非預設命名空間的詳細資訊,請參閱檔備註。

適用於

另請參閱