TemplateBindingExtension Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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) |