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 des Steuerelements mit Vorlagen 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

Im folgenden Beispiel wird ein ControlTemplate Objekt dargestellt, das eine ListBox horizontale und gerundete Ecke definiert. Dies TemplateBinding gibt an, dass der Background Wert Border , der auf dem Background ListBoxWert festgelegt ist, synchronisiert werden soll. Sie verwenden TemplateBinding in Ihrer ControlTemplate Zeit, wenn Sie dem Benutzer Ihres Steuerelements das Steuerelement über die Werte bestimmter Eigenschaften gewähren möchten. Eine Diskussion dieses Beispiels finden Sie unter Formatieren und 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>

Im folgenden Beispiel wird das ControlTemplate Label Steuerelement dargestellt. VerticalAlignment Die HorizontalAlignment Eigenschaften sind an die Werte und HorizontalContentAlignment VerticalContentAlignment Eigenschaften des Steuerelements gebunden, auf das Label 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 in der Vorlage die Bindung an einen Wert für das Steuerelement, auf das die Vorlage angewendet wird. Eine TemplateBinding ist effizienter als eine Binding , aber es hat weniger Funktionalität. Die Verwendung eines Werts entspricht der Verwendung einer TemplateBinding Binding Eigenschaft mit dem RelativeSource Eigenschaftssatz auf RelativeSource.TemplatedParent.

XAML-Textverwendung

Informationen zu XAML finden Sie unter TemplateBinding-Markuperweiterung.

Konstruktoren

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 darstellt.

Eigenschaften

Converter

Ruft den Konverter ab, der die Interpretation zwischen Quelle und Ziel einer Bindung ausführt, oder legt diesen fest.

ConverterParameter

Ruft den Parameter ab, der an den Konverter übergeben werden soll, oder legt diesen fest.

Property

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

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des 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 muss. Für TemplateBindingExtension ist dies ein Ausdruck (TemplateBindingExpression), der die Bindung unterstützt.

ToString()

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

(Geerbt von Object)

Gilt für