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 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
- 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) |