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.

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 qui a des angles arrondis. Indique TemplateBinding que l’élément Background Border doit être synchronisé avec la Background valeur définie sur le ListBox. Vous l’utilisez TemplateBinding lorsque ControlTemplate 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 ControlTemplate Label contrôle. Les HorizontalAlignment propriétés et VerticalAlignment les propriétés sont liées aux valeurs du HorizontalContentAlignment contrôle auquel VerticalContentAlignment Label 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 dans 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 d’une Binding RelativeSource propriété définie RelativeSource.TemplatedParentsur .

Utilisation du texte XAML

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

Constructeurs

TemplateBindingExtension()

Initialise une nouvelle instance de la classe TemplateBindingExtension.

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.

Propriétés

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é qui est liée.

Méthodes

Equals(Object)

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

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(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. 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 à