TemplateBindingExtension Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Implementuje rozszerzenie znaczników, które obsługuje powiązanie między wartością właściwości w szablonie a wartością innej uwidocznionej właściwości w kontrolce szablonu.
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
- Dziedziczenie
- Atrybuty
Przykłady
W poniższym przykładzie pokazano element ControlTemplate , który definiuje ListBox element poziomy i ma zaokrąglone rogi. Wskazuje TemplateBinding
, że Background element elementu Border powinien być zsynchronizowany z wartością ustawioną Background na obiekcie ListBox. TemplateBinding
Używasz polecenia w swoim ControlTemplate przypadku, gdy chcesz nadać użytkownikowi kontrolę nad wartościami określonych właściwości. Aby zapoznać się z tym przykładem, zobacz Styling and Templating (Styling i 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>
W poniższym przykładzie przedstawiono ControlTemplate kontrolkę Label . Właściwości HorizontalAlignment i VerticalAlignment są powiązane z wartościami HorizontalContentAlignment i VerticalContentAlignment właściwości kontrolki Label , do których ControlTemplate jest stosowany.
<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>
Uwagi
Szablon służy TemplateBinding
do powiązania z wartością kontrolki, do której jest stosowany szablon. Element A TemplateBinding
jest bardziej wydajny niż element Binding , ale ma mniejszą funkcjonalność. TemplateBinding
Użycie elementu jest równoważne użyciu elementu Binding z właściwością ustawioną RelativeSource na RelativeSource.TemplatedParentwartość .
Użycie tekstu w języku XAML
Aby uzyskać informacje o języku XAML, zobacz TemplateBinding Markup Extension (Rozszerzenie znaczników SzablonBinding).
Konstruktory
TemplateBindingExtension() |
Inicjuje nowe wystąpienie klasy TemplateBindingExtension. |
TemplateBindingExtension(DependencyProperty) |
Inicjuje TemplateBindingExtension nowe wystąpienie klasy z określoną właściwością zależności, która jest źródłem powiązania. |
Właściwości
Converter |
Pobiera lub ustawia konwerter, który interpretuje między źródłem a elementem docelowym powiązania. |
ConverterParameter |
Pobiera lub ustawia parametr do przekazania do konwertera. |
Property |
Pobiera lub ustawia powiązaną właściwość. |
Metody
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ProvideValue(IServiceProvider) |
Zwraca obiekt, który powinien być ustawiony jako wartość we właściwości obiektu docelowego dla tego rozszerzenia znaczników. W przypadku TemplateBindingExtensionelementu jest to wyrażenie (TemplateBindingExpression), które obsługuje powiązanie. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |