DataTemplate.DataType 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
為預期為 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 專案非預設命名空間的詳細資訊,請參閱檔備註。