ControlTemplate.TargetType Eigenschaft

Definition

Ruft den Typ ab, auf den die ControlTemplate angewendet wird, oder legt diesen fest.

public:
 property TypeName TargetType { TypeName get(); void set(TypeName value); };
TypeName TargetType();

void TargetType(TypeName value);
public System.Type TargetType { get; set; }
var typeName = controlTemplate.targetType;
controlTemplate.targetType = typeName;
Public Property TargetType As Type
<ControlTemplate TargetType="typeName"/>

Eigenschaftswert

Der Typ, auf den die ControlTemplate angewendet wird. Dieser Wert wird in der Regel in XAML und nicht in Code festgelegt. Siehe Hinweise.

Hinweise

Die typische Methode zum Angeben eines TargetType-Werts ist ein XAML-Attribut in der ControlTemplate. Wenn sie in XAML festgelegt sind, übernehmen die Bedeutung von TargetType und die von Ihnen bereitgestellten Werte einige Aspekte der Darstellung von Typen in XAML. Insbesondere sollten alle Präfixe, die erforderlich wären, um auf einen bestimmten Typ als XAML-Element zu verweisen, auch als Wert der TargetType-Wertzeichenfolge eingeschlossen werden. Wenn eine Vorlage beispielsweise für einen benutzerdefinierten Typ vorgesehen ist, dem das bereits zugeordnete Präfix "local" in einem bestimmten Markupbereich vorangestellt werden muss, sollte der TargetType-Wert das gleiche Präfix enthalten. Dieses Verhalten wird durch das integrierte Konvertierungsverhalten im Windows-Runtime XAML-Parser aktiviert.

In den meisten Fällen legen Sie den TargetType für eine ControlTemplate fest, wobei sich diese ControlTemplate in einem Setter für die Template-Eigenschaft befindet. Dies wiederum liegt innerhalb des impliziten Stils, den Sie für ein Steuerelement definieren. Der ControlTemplate.TargetType-Wert und der Style.TargetType-Wert des enthaltenden Style-Objekts sollten immer derselbe Typverweis sein, der auf dasselbe implizit benannte Steuerelement verweist. Andernfalls funktioniert die Steuerelementvorlage möglicherweise nicht.

Weitere Informationen zum Schreiben einer Steuerelementvorlage finden Sie unter Schnellstart: Steuerelementvorlagen.

Hinweis

Wenn Sie zuvor XAML für Windows Presentation Foundation (WPF) programmiert haben, haben Sie möglicherweise eine x:Type-Markuperweiterung verwendet, um ALLE XAML-Werte auszufüllen, die eine System.Type-Eigenschaft annehmen. Der Windows-Runtime XAML-Parser unterstützt x:Type nicht. Stattdessen sollten Sie auf den Typ anhand des Namens verweisen, ohne markuperweiterungen zu verwenden, und jede erforderliche XAML-in-backing-Typkonvertierung wird bereits durch das im vorherigen Absatz beschriebene integrierte Konvertierungsverhalten behandelt.

Verwenden von TargetType im Code

Das Festlegen von TargetType im Code ist ungewöhnlich. Das XAML-Stil-/Vorlagensystem soll verwendet werden, indem XAML als Ressource geladen wird und alle Aspekte einer Steuerelementvorlage im Voraus bereit sind. Es sollte sehr wenige Szenarien geben, in denen Sie bis zur Laufzeit keine Informationen zu Steuerelementen und Vorlagen kennen würden, in denen ein TargetType für eine ControlTemplate festgelegt werden muss, die im Code erstellt oder referenziert wird.

Das Abrufen eines TargetType im Code ist ebenfalls ungewöhnlich, aber Sie können dies tun, um zu überprüfen, ob eine ControlTemplate , die Sie aus XAML geladen haben, mit einem bestimmten Steuerelementziel kompatibel ist, das Sie aus der Laufzeitstruktur erhalten haben.

Tipp

Wenn Sie mit einer Microsoft .NET-Sprache (C# oder Microsoft Visual Basic) programmieren, wird der TypeName-Typ als System.Type ausgeführt. Bei der Programmierung mit C# verwenden Sie in der Regel den typeof-Operator , um Verweise auf den System.Type eines Typs basierend auf einem Typnamen als Zeichenfolge abzurufen. Verwenden Sie in Microsoft Visual Basic GetType.

Gilt für:

Weitere Informationen