Freigeben über


DataTemplate.DataType Eigenschaft

Definition

Ruft den Typ ab, für den dies DataTemplate vorgesehen ist, oder legt diesen fest.

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

Eigenschaftswert

Der Standardwert ist null.

Attribute

Hinweise

Diese Eigenschaft ist der Eigenschaft der Style Klasse sehr ähnlichTargetType. Wenn Sie diese Eigenschaft auf den Datentyp festlegen, ohne eine x:KeyAngabe anzugeben, wird diese DataTemplate automatisch auf Datenobjekte dieses Typs angewendet. Beachten Sie, dass die x:Key Einstellung implizit festgelegt wird. Wenn Sie also dieser DataTemplate einen x:Key-Wert zuweisen, überschreiben Sie den impliziten x:Key, und die DataTemplate wird nicht automatisch angewandt.

Beachten Sie außerdem, dass die ContentControl automatische Verwendung nicht verwendet DataTemplate wird, wenn Sie eine ContentControl Ansammlung von Task Objekten binden. Dies liegt daran, dass die Bindung für ein ContentControl weitere Informationen benötigt, um zwischen der Bindung für eine vollständige Auflistung und der Bindung für einzelne Objekte zu unterscheiden. Wenn das ContentControl die Auswahl eines ItemsControl-Typs nachverfolgt, können Sie die Path-Eigenschaft der ContentControl-Bindung auf „/“ festlegen, um anzugeben, dass es um das aktuelle Element geht. Ein Beispiel finden Sie unter How to: Bind to a Collection and Display Information Based on Selection. Andernfalls müssen Sie die DataTemplate explizit angeben, indem Sie die ContentTemplate-Eigenschaft festlegen.

Die DataType-Eigenschaft ist besonders hilfreich, wenn Sie eine CompositeCollection mit verschiedenen Typen von Datenobjekten haben.

Wenn diese Eigenschaft auf ein XML-Element ausgerichtet ist, das sich nicht im Standardnamespace befindet, müssen Sie dem Elementnamen den Namespace oder einen Namespace-Designator vorangehen. Für XML, der über LINQ für XML verfügbar gemacht wird, wird der Namespace in geschweiften Klammern vor einer Klammern-Escapesequenz angezeigt:

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

Für XML, das über XPath verfügbar gemacht wird, wird dem Elementnamen ein Namespacedesignator vorangestellt, der von einer Instanz von XmlNamespaceMapping:

<DataTemplate DataType="mn:Details">

Verwendung von XAML-Attributen

<object DataType="typeName"/>

XAML-Werte

Typename Wenn die Vorlage für Objektdaten vorgesehen ist, enthält diese Eigenschaft den Typnamen des Datenobjekts (als Zeichenfolge). Um auf den Typnamen der Klasse zu verweisen, verwenden Sie die x:Type-Markuperweiterung. Wenn die Vorlage für XML-Daten vorgesehen ist, enthält diese Eigenschaft den XML-Elementnamen. Ausführliche Informationen zum Angeben eines nicht standardmäßigen Namespaces für das XML-Element finden Sie in den Dokumentationshinweisen.

Gilt für:

Weitere Informationen