(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

TemplateBindingExtension-Klasse

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.

System.Object
  System.Windows.Markup.MarkupExtension
    System.Windows.TemplateBindingExtension

Namespace:  System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)
XMLNS für XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

[MarkupExtensionReturnTypeAttribute(typeof(Object))]
[TypeConverterAttribute(typeof(TemplateBindingExtensionConverter))]
public class TemplateBindingExtension : MarkupExtension
Weitere Informationen zu XAML finden Sie unter TemplateBinding-Markuperweiterung.

Der TemplateBindingExtension-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeTemplateBindingExtension()Initialisiert eine neue Instanz der TemplateBindingExtension-Klasse.
Öffentliche MethodeTemplateBindingExtension(DependencyProperty)Initialisiert eine neue Instanz der TemplateBindingExtension-Klasse mit der angegebenen Abhängigkeitseigenschaft, die die Quelle der Bindung darstellt.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftConverterRuft den Konverter ab, der die Interpretation zwischen Quelle und Ziel einer Bindung ausführt, oder legt diesen fest.
Öffentliche EigenschaftConverterParameterRuft den Parameter ab, der an den Konverter übergeben werden soll, oder legt diesen fest.
Öffentliche EigenschaftPropertyRuft die Eigenschaft ab, an die gebunden wird, oder legt diese fest.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Geschützte MethodeFinalize Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche MethodeGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche MethodeGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte MethodeMemberwiseCloneErstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche MethodeProvideValueGibt 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. (Überschreibt MarkupExtension.ProvideValue(IServiceProvider).)
Öffentliche MethodeToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang

Verwenden Sie TemplateBinding in einer Vorlage, um eine Bindung an einen Wert im Steuerelement zu erstellen, auf das die Vorlage angewendet ist. Eine TemplateBinding ist effizienter als eine Binding, ihr Funktionsumfang ist jedoch geringer. Das Verwenden einer TemplateBinding entspricht dem Verwenden einer Binding, wobei die RelativeSource-Eigenschaft auf RelativeSource.TemplatedParent festgelegt ist.

Im folgenden Beispiel wird eine ControlTemplate veranschaulicht, die eine ListBox definiert, die horizontal ist und abgerundete Ecken aufweist. Die TemplateBinding gibt an, dass der Background der Border mit dem Background-Wert synchronisiert werden muss, der für die ListBox festgelegt ist. Verwenden Sie TemplateBinding in der ControlTemplate, wenn dem Benutzer des Steuerelements die Kontrolle über die Werte bestimmter Eigenschaften gewährt werden soll. Eine Erläuterung dieses Beispiels finden Sie unter Erstellen von Formaten 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>


Im folgenden Beispiel wird die ControlTemplate des Label-Steuerelements veranschaulicht. Die HorizontalAlignment-Eigenschaft und die VerticalAlignment-Eigenschaft werden an die Werte der HorizontalContentAlignment-Eigenschaft und der VerticalContentAlignment-Eigenschaft des Label-Steuerelements gebunden, auf das diese ControlTemplate angewendet wurde.


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


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft