Freigeben über


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 im vorlagenbasierten Steuerelement unterstützt.

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

Beispiele

Das folgende Beispiel zeigt ein ControlTemplate Objekt, das eine ListBox horizontale und abgerundete Ecke definiert. Dies TemplateBinding gibt an, dass die Background des Border Werts synchronisiert werden soll, der Background für das ListBoxFeld festgelegt ist. Sie verwenden TemplateBinding ihre Verwendung, ControlTemplate wenn Sie dem Benutzer Des Steuerelements die Werte bestimmter Eigenschaften zuordnen möchten. Eine Erläuterung dieses Beispiels finden Sie unter "Formatieren und Vorlagen".

<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 ControlTemplateLabel Steuerelement. Die HorizontalAlignment Eigenschaften und VerticalAlignment Die Eigenschaften sind an die Werte und HorizontalContentAlignmentVerticalContentAlignment Eigenschaften des Label Steuerelements gebunden, auf das dies ControlTemplate angewendet wird.

<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 die Vorlage, um eine Bindung an einen Wert für das Steuerelement zu erstellen, auf das die Vorlage angewendet wird. A TemplateBinding ist effizienter als ein Binding , hat aber weniger Funktionalität. Die Verwendung eines TemplateBinding Werts entspricht der Verwendung eines Binding Werts mit dem RelativeSource Eigenschaftensatz RelativeSource.TemplatedParent.

XAML-Textverwendung

Informationen zu XAML finden Sie unter TemplateBinding Markup Extension.

Konstruktoren

Name Beschreibung
TemplateBindingExtension()

Initialisiert eine neue Instanz der TemplateBindingExtension-Klasse.

TemplateBindingExtension(DependencyProperty)

Initialisiert eine neue Instanz der TemplateBindingExtension Klasse mit der angegebenen Abhängigkeitseigenschaft, die die Quelle der Bindung ist.

Eigenschaften

Name Beschreibung
Converter

Dient zum Abrufen oder Festlegen des Konverters, der zwischen Quelle und Ziel einer Bindung interpretiert wird.

ConverterParameter

Dient zum Abrufen oder Festlegen des Parameters, der an den Konverter übergeben werden soll.

Property

Ruft ab oder legt die Eigenschaft fest, an die gebunden wird.

Methoden

Name Beschreibung
Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen 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 soll. Bei TemplateBindingExtensiondiesem Ausdruck handelt es sich um einen Ausdruck (TemplateBindingExpression), der die Bindung unterstützt.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für: