Udostępnij za pośrednictwem


TemplateBindingExtension Klasa

Definicja

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

Dotyczy