TemplateBindingExtension Klasse

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
TemplateBindingExtension
Attribute

Beispiele

Das folgende Beispiel zeigt ein ControlTemplate -Wert, ListBox der einen horizontal definiert und über abgerundete Ecken verfügt.The following example shows a ControlTemplate that defines a ListBox that is horizontal and has rounded corners. Der TemplateBinding gibt an, Background dass der Border Background vonListBoxmit dem Wert synchronisiert werden soll, der auf festgelegt ist.The TemplateBinding indicates that the Background of the Border should be synchronized with the Background value that is set on the ListBox. Verwenden TemplateBinding Sie in Ihrer ControlTemplate , wenn Sie dem Benutzer Ihres Steuer Elements die Kontrolle über die Werte bestimmter Eigenschaften einräumen möchten.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 Erörterung dieses Beispiels finden Sie unter Erstellen von Formaten undVorlagen.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 das ControlTemplate Label des-Steuer Elements.The following example shows the ControlTemplate of the Label control. Die HorizontalAlignment - VerticalAlignment Eigenschaft und die-Eigenschaft sind HorizontalContentAlignment an die Werte VerticalContentAlignment der-Eigenschaft Label und der- ControlTemplate Eigenschaft des Steuer Elements gebunden, auf das diese 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

Sie verwenden TemplateBinding in einer Vorlage, um eine Bindung an einen Wert für das Steuerelement herzustellen, auf das die Vorlage angewendet wird.You use TemplateBinding in template to bind to a value on the control the template is applied to. Eine TemplateBinding ist effizienter als eine Binding , aber Sie verfügt über weniger Funktionalität.A TemplateBinding is more efficient than a Binding but it has less functionality. Die Verwendung TemplateBinding eines entspricht der Binding Verwendung von, wobei RelativeSource die-Eigenschaft RelativeSource.TemplatedParentauf festgelegt ist.Using a TemplateBinding is equivalent to using a Binding with the RelativeSource property set to RelativeSource.TemplatedParent.

Verwendung von XAML-TextXAML Text Usage

Weitere XAMLXAML Informationen finden Sie unter TemplateBinding-Markup Erweiterung.For XAMLXAML information, see TemplateBinding Markup Extension.

Konstruktoren

TemplateBindingExtension()

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

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

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

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

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

Methoden

Equals(Object)

Ermittelt, ob das angegebene Objekt und das aktuelle Objekt gleich sind.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
GetHashCode()

Dient als die Standard-HashfunktionServes as the default hash function.

(Geerbt von Object)
GetType()

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

(Geerbt von Object)
MemberwiseClone()

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

(Geerbt von Object)
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()

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

(Geerbt von Object)

Gilt für: