Partager via


TemplateBinding, extension de balisage

Cette extension lie la valeur d'une propriété dans un modèle de contrôle afin de la définir comme valeur d'une autre propriété exposée dans le contrôle basé sur un modèle.

Utilisation d'attributs XAML

<object property="{TemplateBinding targetProperty}" .../>

Utilisation des attributs XAML (pour la propriété d'accesseur Set dans le modèle ou le style)

<Setter Property="propertyName" Value="{TemplateBinding targetProperty}" .../>

Valeurs XAML

propertyName

DependencyProperty.Name de la propriété définie dans la syntaxe d'accesseur Set.

targetProperty

Propriété de dépendance qui existe sur le type basé sur un modèle, spécifiée par DependencyProperty.Name.

- ou -

Nom de propriété "dotted-down" défini par un autre type que le type de cible basé sur un modèle. Il s'agit en réalité d'un PropertyPath. Consultez PropertyPath, syntaxe XAML.

Notes

Un TemplateBinding est une version optimisée d'un Binding pour les scénarios de modèle, similaire à un Binding construit avec {Binding RelativeSource={RelativeSource TemplatedParent}}.

RelativeSource est une autre extension de balisage parfois utilisée avec ou au lieu de TemplateBinding afin d'effectuer une liaison de propriété relative dans un modèle.

Cette rubrique ne décrit pas le concept des modèles de contrôle. Pour plus d'informations, consultez Styles et modèles Control.

La syntaxe d'attribut est la syntaxe la plus couramment utilisée avec cette extension de balisage. Le jeton de chaîne fourni après la chaîne d'identificateur TemplateBinding est assigné en tant que valeur Property de la classe d'extension TemplateBindingExtension sous-jacente.

La syntaxe d'élément objet est possible, mais elle n'est pas indiquée car elle ne possède aucune application réaliste. TemplateBinding est utilisé pour remplir des valeurs dans des méthodes setter, à l'aide d'expressions évaluées. En outre, l'utilisation de la syntaxe d'élément objet de TemplateBinding pour remplir la syntaxe des éléments de propriété <Setter.Property> est inutilement détaillée.

TemplateBinding peut également être utilisé dans une utilisation d'attributs en clair qui spécifie la propriété Property en tant que paire propriété=valeur :

<object property="{TemplateBinding Property=targetProperty}" .../>

L'utilisation en clair est souvent utile pour les extensions qui comportent plusieurs propriétés définissables ou si certaines propriétés sont facultatives. TemplateBinding ne comportant qu'une seule propriété définissable (obligatoire), cette utilisation en clair n'est pas classique.

Dans l'implémentation de processeur XAML WPF, la gestion de cette extension de balisage est définie par la classe TemplateBindingExtension.

TemplateBinding est une extension de balisage. Des extensions de balisage sont généralement implémentées pour éviter que les valeurs d'attribut ne soient autre chose que des valeurs littérales ou des noms de gestionnaire et lorsque l'exigence va plus loin que la définition de convertisseurs de type sur certains types ou propriétés. En XAML, toutes les extensions de balisage utilisent les caractères { et } dans leur syntaxe d'attributs, convention selon laquelle un processeur XAML reconnaît qu'une extension de balisage doit traiter l'attribut. Pour plus d'informations, consultez Extensions de balisage et XAML WPF.

Voir aussi

Référence

RelativeSource, extension de balisage

Binding, extension de balisage

Style

ControlTemplate

Concepts

Application d'un style et création de modèles

Vue d'ensemble du langage XAML (WPF)

Extensions de balisage et XAML WPF