TemplateBindingExtension Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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) |