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 właściwości uwidocznionej w formancie z szablonem.Implements a markup extension that supports the binding between the value of a property in a template and the value of some other exposed property on the templated control.

public ref 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))]
public class TemplateBindingExtension : System.Windows.Markup.MarkupExtension
[<System.ComponentModel.TypeConverter(typeof(System.Windows.TemplateBindingExtensionConverter))>]
[<System.Windows.Markup.MarkupExtensionReturnType(typeof(System.Object))>]
type TemplateBindingExtension = class
    inherit MarkupExtension
[<System.ComponentModel.TypeConverter(typeof(System.Windows.TemplateBindingExtensionConverter))>]
type TemplateBindingExtension = class
    inherit MarkupExtension
Public Class TemplateBindingExtension
Inherits MarkupExtension
Dziedziczenie
TemplateBindingExtension
Atrybuty

Przykłady

Poniższy przykład pokazuje, ControlTemplate że definiuje w ListBox poziomie i ma zaokrąglone rogi.The following example shows a ControlTemplate that defines a ListBox that is horizontal and has rounded corners. TemplateBindingWskazuje, że Background dla elementu Border należy synchronizować Background wartość ustawioną na ListBox .The TemplateBinding indicates that the Background of the Border should be synchronized with the Background value that is set on the ListBox. Używasz TemplateBinding w firmie, ControlTemplate gdy chcesz dać użytkownikowi kontroli kontrolę nad wartościami niektórych właściwości.You use TemplateBinding in your ControlTemplate when you want to give the user of your control the control over the values of certain properties. Aby zapoznać się z omówieniem tego przykładu, zobacz Style i tworzenia szablonów.For a discussion of this example, see Styling and 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>

Poniższy przykład pokazuje ControlTemplate Label kontrolkę.The following example shows the ControlTemplate of the Label control. HorizontalAlignmentWłaściwości i VerticalAlignment są powiązane z wartościami HorizontalContentAlignment VerticalContentAlignment właściwości i Label kontrolki, do których jest stosowana ta wartość ControlTemplate .The HorizontalAlignment and VerticalAlignment properties are bound to the values of the HorizontalContentAlignment and VerticalContentAlignment properties of the Label control that this ControlTemplate is applied to.

<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

Używasz TemplateBinding w szablonie, aby powiązać z wartością w kontrolce, do której zostanie zastosowany szablon.You use TemplateBinding in template to bind to a value on the control the template is applied to. Jest wydajniejszy TemplateBinding niż, Binding ale ma mniej funkcjonalności.A TemplateBinding is more efficient than a Binding but it has less functionality. Użycie TemplateBinding jest równoważne użyciu Binding z RelativeSource właściwością ustawioną na RelativeSource.TemplatedParent .Using a TemplateBinding is equivalent to using a Binding with the RelativeSource property set to RelativeSource.TemplatedParent.

Użycie tekstu w języku XAMLXAML Text Usage

Aby uzyskać informacje dotyczące języka XAML, zobacz TemplateBinding Markup Extension.For XAML information, see TemplateBinding Markup Extension.

Konstruktory

TemplateBindingExtension()

Inicjuje nowe wystąpienie klasy TemplateBindingExtension.Initializes a new instance of the TemplateBindingExtension class.

TemplateBindingExtension(DependencyProperty)

Inicjuje nowe wystąpienie TemplateBindingExtension klasy z określoną właściwością zależności, która jest źródłem powiązania.Initializes a new instance of the TemplateBindingExtension class with the specified dependency property that is the source of the binding.

Właściwości

Converter

Pobiera lub ustawia konwerter, który interpretuje między źródłem a elementem docelowym powiązania.Gets or sets the converter that interprets between source and target of a binding.

ConverterParameter

Pobiera lub ustawia parametr, który zostanie przekazany do konwertera.Gets or sets the parameter to pass to the converter.

Property

Pobiera lub ustawia właściwość, z którą jest powiązany.Gets or sets the property being bound to.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
ProvideValue(IServiceProvider)

Zwraca obiekt, który powinien zostać ustawiony jako wartość właściwości obiektu docelowego dla tego rozszerzenia znacznika.Returns an object that should be set as the value on the target object's property for this markup extension. Dla TemplateBindingExtension , jest to wyrażenie ( TemplateBindingExpression ), które obsługuje powiązanie.For TemplateBindingExtension, this is an expression (TemplateBindingExpression) that supports the binding.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Dotyczy