Condividi tramite


TemplateBindingExtension Classe

Definizione

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

Si applica a