TemplateBindingExtension Osztály

Definíció

Implementál egy korrektúrakiterjesztést, amely támogatja a sablonban lévő tulajdonság értéke és a sablonalapú vezérlő más közzétett tulajdonságának értéke közötti kötést.

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
Öröklődés
TemplateBindingExtension
Attribútumok

Példák

Az alábbi példa egy ControlTemplate vízszintes és lekerekített sarkokat definiáló ListBox példát mutat be. Ez TemplateBinding azt jelzi, hogy az Background értékeket Border szinkronizálni kell a Background megadott ListBoxértékkel. Akkor használja TemplateBinding a felhasználót ControlTemplate , ha meg szeretné adni a felhasználónak a vezérlést bizonyos tulajdonságok értékei felett. A példáról a Stílus és a Templating című témakörben olvashat bővebben.

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

Az alábbi példa a ControlTemplate vezérlőt Label mutatja be. A HorizontalAlignment tulajdonságok és VerticalAlignment a tulajdonságok a vezérlő azon értékeihez HorizontalContentAlignment és VerticalContentAlignment tulajdonságaihoz Label vannak kötve, amelyekre ez ControlTemplate vonatkozik.

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

Megjegyzések

TemplateBinding A sablon használatával kötést hozhat létre egy olyan értékhez, amelyen a sablont alkalmazza a rendszer. Az A TemplateBinding hatékonyabb, mint egy Binding , de kevesebb funkcióval rendelkezik. Az a TemplateBinding tulajdonság használata Binding egyenértékű a következő tulajdonsággal RelativeSourceRelativeSource.TemplatedParent: .

XAML-szöveghasználat

Az XAML-információkért lásd: TemplateBinding Markup Extension.

Konstruktorok

Name Description
TemplateBindingExtension()

Inicializálja a TemplateBindingExtension osztály új példányát.

TemplateBindingExtension(DependencyProperty)

Inicializálja az TemplateBindingExtension osztály új példányát a kötés forrásaként megadott függőségi tulajdonsággal.

Tulajdonságok

Name Description
Converter

Lekéri vagy beállítja a kötés forrása és célja között értelmező konvertert.

ConverterParameter

Lekéri vagy beállítja a paramétert a konverternek való továbbításhoz.

Property

Lekéri vagy beállítja a kötve lévő tulajdonságot.

Metódusok

Name Description
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ProvideValue(IServiceProvider)

Egy olyan objektumot ad vissza, amelyet a célobjektum tulajdonságának értékeként kell beállítani ehhez a korrektúrakiterjesztéshez. Ez TemplateBindingExtensiona kifejezés (TemplateBindingExpression) támogatja a kötést.

ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

A következőre érvényes: