ControlTemplate.TargetType Propriété

Définition

Obtient ou définit le type auquel le ControlTemplate est appliqué.

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"/>

Valeur de propriété

Type auquel le ControlTemplate est appliqué. Cette valeur est généralement définie en XAML, et non en code. Consultez la section Notes.

Remarques

La méthode classique pour spécifier une valeur TargetType consiste à utiliser un attribut XAML sur le ControlTemplate. Lorsqu’il est défini en XAML, la signification de TargetType et les valeurs que vous fournissez prennent en compte certains aspects de la façon dont les types sont représentés dans XAML. En particulier, tous les préfixes qui seraient nécessaires pour faire référence à un type donné en tant qu’élément XAML doivent également être inclus comme valeur de la chaîne de valeur TargetType. Par exemple, si un modèle est destiné à cibler un type personnalisé qui doit être précédé du préfixe « local » déjà mappé dans une étendue de balisage particulière, la valeur TargetType doit inclure ce même préfixe. Ce comportement est activé par le comportement de conversion intégré dans l’analyseur XAML Windows Runtime.

Dans la plupart des cas, vous allez définir le TargetType pour un ControlTemplate où ce ControlTemplate se trouve dans un Setter pour la propriété Template . Cela se trouve à son tour dans le style implicite que vous définissez pour un contrôle. La valeur ControlTemplate.TargetType et la valeur Style.TargetType du Style contenant doivent toujours être la même référence de type, faisant référence au même contrôle implicitement nommé. Sinon, le modèle de contrôle risque de ne pas fonctionner.

Pour plus d’informations sur l’écriture d’un modèle de contrôle, consultez Démarrage rapide : Modèles de contrôle.

Notes

Si vous avez déjà programmé XAML pour Windows Presentation Foundation (WPF), vous avez peut-être utilisé une extension de balisage x:Type pour remplir toutes les valeurs XAML qui prennent un System.Type. L’analyseur XAML Windows Runtime ne prend pas en charge x:Type. Au lieu de cela, vous devez faire référence au type par nom sans utiliser d’extension de balisage, et toute conversion nécessaire du type XAML vers le type de sauvegarde est déjà gérée par le comportement de conversion intégré décrit dans le paragraphe précédent.

Utilisation de TargetType dans le code

La définition de TargetType dans le code est rare. Le système de style/modèle XAML est destiné à être utilisé en chargeant XAML en tant que ressource et en veillant à ce que tous les aspects d’un modèle de contrôle soient prêts à l’avance. Il doit y avoir très peu de scénarios dans lesquels vous ne connaissez pas d’informations sur les contrôles et les modèles avant l’exécution, où il est nécessaire de définir un TargetType sur un ControlTemplate créé ou référencé dans le code.

L’obtention d’un TargetType dans le code est également rare, mais vous pouvez le faire pour doublement case activée qu’un ControlTemplate que vous avez chargé à partir du XAML est compatible avec une cible de contrôle donnée que vous avez obtenue à partir de l’arborescence du runtime.

Conseil

Si vous programmez à l’aide d’un langage Microsoft .NET (C# ou Microsoft Visual Basic), le type TypeName est projeté comme System.Type. Lors de la programmation à l’aide de C#, vous utilisez généralement l’opérateur typeof pour obtenir des références à System.Type d’un type en fonction d’un nom de type en tant que chaîne. Dans Microsoft Visual Basic, utilisez GetType.

S’applique à

Voir aussi