TemplateBindingExtension Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Implementa un'estensione di markup che supporta l'associazione tra il valore di una proprietà in un modello e il valore di un'altra proprietà esposta nel controllo basato su modelli.
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
- Ereditarietà
- Attributi
Esempio
Nell'esempio seguente viene illustrato un ControlTemplate oggetto che definisce un ListBox oggetto che è orizzontale e presenta angoli arrotondati. Indica TemplateBinding
che l'oggetto Background Border di deve essere sincronizzato con il Background valore impostato su ListBox. Si usa TemplateBinding
quando ControlTemplate si desidera assegnare all'utente del controllo il controllo sui valori di determinate proprietà. Per una descrizione di questo esempio, vedere Applicazione di stili e modelli.
<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>
Nell'esempio seguente viene illustrato l'oggetto ControlTemplate del Label controllo . Le HorizontalAlignment proprietà e VerticalAlignment sono associate ai valori delle HorizontalContentAlignment proprietà e VerticalContentAlignment del Label controllo a cui viene applicato .ControlTemplate
<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>
Commenti
Il modello viene usato TemplateBinding
per eseguire l'associazione a un valore nel controllo a cui viene applicato il modello. Un TemplateBinding
oggetto è più efficiente di un Binding ma ha meno funzionalità. L'uso di è TemplateBinding
equivalente all'uso di un Binding oggetto con la RelativeSource proprietà impostata su RelativeSource.TemplatedParent.
Utilizzo del testo XAML
Per informazioni XAML, vedere TemplateBinding Markup Extension (Estensione di markup TemplateBinding).
Costruttori
TemplateBindingExtension() |
Inizializza una nuova istanza della classe TemplateBindingExtension. |
TemplateBindingExtension(DependencyProperty) |
Inizializza una nuova istanza della classe TemplateBindingExtension con la proprietà di dipendenza specificata che rappresenta l'origine dell'associazione. |
Proprietà
Converter |
Ottiene o imposta il convertitore che interpreta l'origine e la destinazione di un'associazione. |
ConverterParameter |
Ottiene o imposta il parametro da passare al convertitore. |
Property |
Ottiene o imposta la proprietà con cui viene eseguita l'associazione. |
Metodi
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ProvideValue(IServiceProvider) |
Restituisce un oggetto che deve essere impostato come valore sulla proprietà dell'oggetto di destinazione per questa estensione di markup. Per TemplateBindingExtension, corrisponde a un'espressione (TemplateBindingExpression) che supporta l'associazione. |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |