Partager via


TemplateBindingExtension Classe

Définition

Implémente une extension de balisage qui prend en charge la liaison entre la valeur d’une propriété dans un modèle et la valeur d’une autre propriété exposée sur le contrôle modèle.

public ref class TemplateBindingExtension : System::Windows::Markup::MarkupExtension
[System.ComponentModel.TypeConverter(typeof(System.Windows.TemplateBindingExtensionConverter))]
public class TemplateBindingExtension : System.Windows.Markup.MarkupExtension
[System.ComponentModel.TypeConverter(typeof(System.Windows.TemplateBindingExtensionConverter))]
[System.Windows.Markup.MarkupExtensionReturnType(typeof(System.Object))]
public class TemplateBindingExtension : System.Windows.Markup.MarkupExtension
[<System.ComponentModel.TypeConverter(typeof(System.Windows.TemplateBindingExtensionConverter))>]
type TemplateBindingExtension = class
    inherit MarkupExtension
[<System.ComponentModel.TypeConverter(typeof(System.Windows.TemplateBindingExtensionConverter))>]
[<System.Windows.Markup.MarkupExtensionReturnType(typeof(System.Object))>]
type TemplateBindingExtension = class
    inherit MarkupExtension
Public Class TemplateBindingExtension
Inherits MarkupExtension
Héritage
TemplateBindingExtension
Attributs

Exemples

L’exemple suivant montre un ControlTemplate qui définit un ListBox angle horizontal et a des angles arrondis. Indique TemplateBinding que la BackgroundBorder valeur doit être synchronisée avec la Background valeur définie sur le ListBox. Vous utilisez TemplateBinding votre ControlTemplate application lorsque vous souhaitez donner à l’utilisateur de votre contrôle le contrôle sur les valeurs de certaines propriétés. Pour une discussion sur cet exemple, consultez Style et Création de modèles.

<Style TargetType="ListBox">
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="ListBox">
        <Border CornerRadius="5" Background="{TemplateBinding ListBox.Background}">
          <ScrollViewer HorizontalScrollBarVisibility="Auto">
            <StackPanel Orientation="Horizontal"
                       VerticalAlignment="Center"
                       HorizontalAlignment="Center"
                       IsItemsHost="True"/>
          </ScrollViewer>
        </Border>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>

L’exemple suivant montre le ControlTemplateLabel contrôle. Les HorizontalAlignment propriétés et VerticalAlignment les propriétés sont liées aux valeurs du HorizontalContentAlignmentVerticalContentAlignmentLabel contrôle auquel elle ControlTemplate est appliquée.

<Style x:Key="{x:Type Label}"
       TargetType="Label">
  <Setter Property="HorizontalContentAlignment"
          Value="Left" />
  <Setter Property="VerticalContentAlignment"
          Value="Top" />
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="Label">
        <Border>
          <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                            VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                            RecognizesAccessKey="True" />
        </Border>
        <ControlTemplate.Triggers>
          <Trigger Property="IsEnabled"
                   Value="false">
            <Setter Property="Foreground">
              <Setter.Value>
                <SolidColorBrush Color="{DynamicResource DisabledForegroundColor}" />
              </Setter.Value>
            </Setter>
          </Trigger>
        </ControlTemplate.Triggers>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>

Remarques

Vous utilisez TemplateBinding le modèle pour établir une liaison à une valeur sur le contrôle auquel le modèle est appliqué. Un TemplateBinding est plus efficace qu’un Binding mais il a moins de fonctionnalités. L’utilisation d’un TemplateBinding est équivalente à l’utilisation RelativeSource d’une Binding propriété définie sur RelativeSource.TemplatedParent.

Utilisation du texte XAML

Pour plus d’informations sur XAML, consultez l’extension de balisage TemplateBinding.

Constructeurs

Nom Description
TemplateBindingExtension()

Initialise une nouvelle instance de la classe TemplateBindingExtension.

TemplateBindingExtension(DependencyProperty)

Initialise une nouvelle instance de la TemplateBindingExtension classe avec la propriété de dépendance spécifiée qui est la source de la liaison.

Propriétés

Nom Description
Converter

Obtient ou définit le convertisseur qui interprète entre la source et la cible d’une liaison.

ConverterParameter

Obtient ou définit le paramètre à passer au convertisseur.

Property

Obtient ou définit la propriété à laquelle elle est liée.

Méthodes

Nom Description
Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ProvideValue(IServiceProvider)

Retourne un objet qui doit être défini comme valeur sur la propriété de l’objet cible pour cette extension de balisage. Pour TemplateBindingExtension, il s’agit d’une expression (TemplateBindingExpression) qui prend en charge la liaison.

ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)

S’applique à