TemplateBindingExtension TemplateBindingExtension TemplateBindingExtension TemplateBindingExtension Class

Definition

Implementiert eine Markuperweiterung, die die Bindung zwischen dem Wert einer Eigenschaft in einer Vorlage und dem Wert einer anderen verfügbar gemachten Eigenschaft des Steuerelements mit Vorlagen unterstützt.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
type TemplateBindingExtension = class
    inherit MarkupExtension
Public Class TemplateBindingExtension
Inherits MarkupExtension
Vererbung
TemplateBindingExtensionTemplateBindingExtensionTemplateBindingExtensionTemplateBindingExtension
Attribute

Beispiele

Das folgende Beispiel zeigt eine ControlTemplate , definiert ein ListBox , ist horizontal und abgerundeten Ecken.The following example shows a ControlTemplate that defines a ListBox that is horizontal and has rounded corners. Die TemplateBinding gibt an, dass die Background von der Border synchronisiert werden sollen, mit der Background Wert ab, der auf die ListBox.The TemplateBinding indicates that the Background of the Border should be synchronized with the Background value that is set on the ListBox. Verwenden Sie TemplateBinding in Ihre ControlTemplate sollen die Benutzer des Steuerelements geben Sie die Kontrolle über die Werte bestimmter Eigenschaften.You use TemplateBinding in your ControlTemplate when you want to give the user of your control the control over the values of certain properties. Eine Erläuterung der in diesem Beispiel wird, finden Sie unter Stile und Vorlagen.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>

Das folgende Beispiel zeigt die ControlTemplate von der Label Steuerelement.The following example shows the ControlTemplate of the Label control. Die HorizontalAlignment und VerticalAlignment Eigenschaften gebunden sind, auf die Werte der der HorizontalContentAlignment und VerticalContentAlignment Eigenschaften der Label steuern, das von diesem ControlTemplate auf angewendet wird.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>

Hinweise

Verwenden Sie TemplateBinding in Vorlage, um auf einen Wert für das Steuerelement binden, die Vorlage angewendet wird.You use TemplateBinding in template to bind to a value on the control the template is applied to. Ein TemplateBinding ist effizienter als eine Binding aber weniger Funktionen.A TemplateBinding is more efficient than a Binding but it has less functionality. Mit einem TemplateBinding ist äquivalent zur Verwendung einer Binding mit der RelativeSource -Eigenschaft auf festgelegt RelativeSource.TemplatedParent.Using a TemplateBinding is equivalent to using a Binding with the RelativeSource property set to RelativeSource.TemplatedParent.

XAML-Text-NutzungXAML Text Usage

Für XAMLXAML Informationen finden Sie unter TemplateBinding-Markuperweiterung.For XAMLXAML information, see TemplateBinding Markup Extension.

Konstruktoren

TemplateBindingExtension() TemplateBindingExtension() TemplateBindingExtension() TemplateBindingExtension()

Initialisiert eine neue Instanz der TemplateBindingExtension-Klasse.Initializes a new instance of the TemplateBindingExtension class.

TemplateBindingExtension(DependencyProperty) TemplateBindingExtension(DependencyProperty) TemplateBindingExtension(DependencyProperty) TemplateBindingExtension(DependencyProperty)

Initialisiert eine neue Instanz der TemplateBindingExtension-Klasse mit der angegebenen Abhängigkeitseigenschaft, die die Quelle der Bindung darstellt.Initializes a new instance of the TemplateBindingExtension class with the specified dependency property that is the source of the binding.

Eigenschaften

Converter Converter Converter Converter

Ruft den Konverter ab, der die Interpretation zwischen Quelle und Ziel einer Bindung ausführt, oder legt diesen fest.Gets or sets the converter that interprets between source and target of a binding.

ConverterParameter ConverterParameter ConverterParameter ConverterParameter

Ruft den Parameter ab, der an den Konverter übergeben werden soll, oder legt diesen fest.Gets or sets the parameter to pass to the converter.

Property Property Property Property

Ruft die Eigenschaft ab, an die gebunden wird, oder legt diese fest.Gets or sets the property being bound to.

Methoden

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ProvideValue(IServiceProvider) ProvideValue(IServiceProvider) ProvideValue(IServiceProvider) ProvideValue(IServiceProvider)

Gibt ein Objekt zurück, das als Wert für die Eigenschaft des Zielobjekts für diese Markuperweiterung festgelegt werden muss.Returns an object that should be set as the value on the target object's property for this markup extension. Für TemplateBindingExtension ist dies ein Ausdruck (TemplateBindingExpression), der die Bindung unterstützt.For TemplateBindingExtension, this is an expression (TemplateBindingExpression) that supports the binding.

ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Gilt für: