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 oggetto che definisce un ControlTemplate oggetto ListBox che è orizzontale e ha angoli arrotondati. Indica TemplateBinding che l'oggetto BackgroundBorder 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
Si usa TemplateBinding nel modello per eseguire l'associazione a un valore nel controllo a cui viene applicato il modello. Un TemplateBinding è più efficiente di un ma Binding ha meno funzionalità. L'utilizzo di è TemplateBinding equivalente all'uso di un Binding oggetto con la RelativeSource proprietà impostata su RelativeSource.TemplatedParent.
Utilizzo del testo XAML
Per informazioni XAML, vedi Estensione di markup TemplateBinding.
Costruttori
| Nome | Descrizione |
|---|---|
| TemplateBindingExtension() |
Inizializza una nuova istanza della classe TemplateBindingExtension. |
| TemplateBindingExtension(DependencyProperty) |
Inizializza una nuova istanza della TemplateBindingExtension classe con la proprietà di dipendenza specificata che rappresenta l'origine dell'associazione. |
Proprietà
| Nome | Descrizione |
|---|---|
| Converter |
Ottiene o imposta il convertitore che interpreta tra l'origine e la destinazione di un'associazione. |
| ConverterParameter |
Ottiene o imposta il parametro da passare al convertitore. |
| Property |
Ottiene o imposta la proprietà a cui è associato. |
Metodi
| Nome | Descrizione |
|---|---|
| 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 il Type dell'istanza corrente. (Ereditato da Object) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| ProvideValue(IServiceProvider) |
Restituisce un oggetto che deve essere impostato come valore nella proprietà dell'oggetto di destinazione per questa estensione di markup. Per TemplateBindingExtension, si tratta di un'espressione (TemplateBindingExpression) che supporta l'associazione. |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |