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.Implements a markup extension that supports the binding between the value of a property in a template and the value of some other exposed property on the templated control.

public ref 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))]
public class TemplateBindingExtension : System.Windows.Markup.MarkupExtension
[<System.ComponentModel.TypeConverter(typeof(System.Windows.TemplateBindingExtensionConverter))>]
[<System.Windows.Markup.MarkupExtensionReturnType(typeof(System.Object))>]
type TemplateBindingExtension = class
    inherit MarkupExtension
[<System.ComponentModel.TypeConverter(typeof(System.Windows.TemplateBindingExtensionConverter))>]
type TemplateBindingExtension = class
    inherit MarkupExtension
Public Class TemplateBindingExtension
Inherits MarkupExtension
Ereditarietà
TemplateBindingExtension
Attributi

Esempio

Nell'esempio seguente viene illustrato un oggetto ControlTemplate che definisce un oggetto ListBox orizzontale con angoli arrotondati.The following example shows a ControlTemplate that defines a ListBox that is horizontal and has rounded corners. TemplateBindingIndica che Background Border deve essere sincronizzato con il Background valore impostato nell'oggetto ListBox .The TemplateBinding indicates that the Background of the Border should be synchronized with the Background value that is set on the ListBox. Usare TemplateBinding nel ControlTemplate quando si desidera concedere all'utente del controllo il controllo sui valori di determinate proprietà.You use TemplateBinding in your ControlTemplate when you want to give the user of your control the control over the values of certain properties. Per una descrizione di questo esempio, vedere applicazione di stili e modelli.For a discussion of this example, see Styling and Templating.

<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.The following example shows the ControlTemplate of the Label control. Le HorizontalAlignment VerticalAlignment proprietà e sono associate ai valori delle HorizontalContentAlignment VerticalContentAlignment proprietà e del Label controllo ControlTemplate a cui viene applicato.The HorizontalAlignment and VerticalAlignment properties are bound to the values of the HorizontalContentAlignment and VerticalContentAlignment properties of the Label control that this ControlTemplate is applied to.

<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

Usare TemplateBinding nel modello per eseguire l'associazione a un valore nel controllo a cui è applicato il modello.You use TemplateBinding in template to bind to a value on the control the template is applied to. Un TemplateBinding è più efficiente di un Binding , ma ha meno funzionalità.A TemplateBinding is more efficient than a Binding but it has less functionality. L'utilizzo di un oggetto TemplateBinding equivale all'utilizzo di un oggetto Binding con la RelativeSource proprietà impostata su RelativeSource.TemplatedParent .Using a TemplateBinding is equivalent to using a Binding with the RelativeSource property set to RelativeSource.TemplatedParent.

Utilizzo del testo XAMLXAML Text Usage

Per XAMLXAML informazioni, vedere TemplateBinding Markup Extension.For XAMLXAML information, see TemplateBinding Markup Extension.

Costruttori

TemplateBindingExtension()

Inizializza una nuova istanza della classe TemplateBindingExtension.Initializes a new instance of the TemplateBindingExtension class.

TemplateBindingExtension(DependencyProperty)

Inizializza una nuova istanza della classe TemplateBindingExtension con la proprietà di dipendenza specificata che rappresenta l'origine dell'associazione.Initializes a new instance of the TemplateBindingExtension class with the specified dependency property that is the source of the binding.

Proprietà

Converter

Ottiene o imposta il convertitore che interpreta l'origine e la destinazione di un'associazione.Gets or sets the converter that interprets between source and target of a binding.

ConverterParameter

Ottiene o imposta il parametro da passare al convertitore.Gets or sets the parameter to pass to the converter.

Property

Ottiene o imposta la proprietà con cui viene eseguita l'associazione.Gets or sets the property being bound to.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(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.Returns an object that should be set as the value on the target object's property for this markup extension. Per TemplateBindingExtension, corrisponde a un'espressione (TemplateBindingExpression) che supporta l'associazione.For TemplateBindingExtension, this is an expression (TemplateBindingExpression) that supports the binding.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Si applica a