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 basé sur un modèle.Implements a markup extension that supports the binding between the value of a property in a template and the value of some other exposed property on the templated control.

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
type TemplateBindingExtension = class
    inherit MarkupExtension
Public Class TemplateBindingExtension
Inherits MarkupExtension
Héritage
TemplateBindingExtension
Attributs

Exemples

L’exemple suivant montre une ControlTemplate qui définit un ListBox horizontal et qui a des angles arrondis.The following example shows a ControlTemplate that defines a ListBox that is horizontal and has rounded corners. Le TemplateBinding indique que la Background du Border doit être synchronisée avec la valeur Background définie sur le ListBox.The TemplateBinding indicates that the Background of the Border should be synchronized with the Background value that is set on the ListBox. Vous utilisez TemplateBinding dans votre ControlTemplate lorsque vous souhaitez permettre à l’utilisateur de votre contrôle de contrôler les valeurs de certaines propriétés.You use TemplateBinding in your ControlTemplate when you want to give the user of your control the control over the values of certain properties. Pour plus d’informations sur cet exemple, consultez styles et création de modèles.For a discussion of this example, see Styling and Templating.

<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 illustre la ControlTemplate du contrôle Label.The following example shows the ControlTemplate of the Label control. Les propriétés HorizontalAlignment et VerticalAlignment sont liées aux valeurs des propriétés HorizontalContentAlignment et VerticalContentAlignment du contrôle Label auquel cette ControlTemplate est appliquée.The HorizontalAlignment and VerticalAlignment properties are bound to the values of the HorizontalContentAlignment and VerticalContentAlignment properties of the Label control that this ControlTemplate is applied to.

<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 dans le modèle pour établir une liaison à une valeur sur le contrôle auquel le modèle est appliqué.You use TemplateBinding in template to bind to a value on the control the template is applied to. Une TemplateBinding est plus efficace qu’une Binding mais elle a moins de fonctionnalités.A TemplateBinding is more efficient than a Binding but it has less functionality. L’utilisation d’un TemplateBinding revient à utiliser une Binding avec la propriété RelativeSource définie sur RelativeSource.TemplatedParent.Using a TemplateBinding is equivalent to using a Binding with the RelativeSource property set to RelativeSource.TemplatedParent.

Utilisation de texte XAMLXAML Text Usage

Pour XAMLXAML d’informations, consultez l' extension de balisage TemplateBinding.For XAMLXAML information, see TemplateBinding Markup Extension.

Constructeurs

TemplateBindingExtension()

Initialise une nouvelle instance de la classe TemplateBindingExtension.Initializes a new instance of the TemplateBindingExtension class.

TemplateBindingExtension(DependencyProperty)

Initialise une nouvelle instance de la classe TemplateBindingExtension avec la propriété de dépendance spécifiée qui est la source de la liaison.Initializes a new instance of the TemplateBindingExtension class with the specified dependency property that is the source of the binding.

Propriétés

Converter

Obtient ou définit le convertisseur qui interprète entre la source et la cible d'une liaison.Gets or sets the converter that interprets between source and target of a binding.

ConverterParameter

Obtient ou définit le paramètre à passer au convertisseur.Gets or sets the parameter to pass to the converter.

Property

Obtient ou définit la propriété qui est liée.Gets or sets the property being bound to.

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

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

Retourne un objet qui doit être défini comme la valeur sur la propriété de l'objet cible pour cette extension de balisage.Returns an object that should be set as the value on the target object's property for this markup extension. Pour TemplateBindingExtension, il s'agit d'une expression (TemplateBindingExpression) qui prend en charge la liaison.For TemplateBindingExtension, this is an expression (TemplateBindingExpression) that supports the binding.

ToString()

Retourne une chaîne qui représente l'objet actif.Returns a string that represents the current object.

(Hérité de Object)

S’applique à