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

Si applica a