Sdílet prostřednictvím


TemplateBindingExtension Třída

Definice

Implementuje rozšíření značek, které podporuje vazbu mezi hodnotou vlastnosti v šabloně a hodnotou některé jiné vystavené vlastnosti v ovládacím prvku šablony.

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
Dědičnost
TemplateBindingExtension
Atributy

Příklady

Následující příklad ukazuje ControlTemplate , že definuje vodorovnou ListBox a zaoblenou rohy. Indikuje TemplateBinding , že Background Border by měla být synchronizována s hodnotou nastavenou Background na ListBox. TemplateBinding Používáte ji, ControlTemplate když chcete uživateli udělit kontrolu nad hodnotami určitých vlastností. Diskuzi o tomto příkladu najdete v tématu Styling a Šablonování.

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

Následující příklad ukazuje ControlTemplate ovládací prvek Label . Vlastnosti HorizontalAlignment jsou VerticalAlignment vázány na hodnoty HorizontalContentAlignment a VerticalContentAlignment vlastnosti Label ovládacího prvku, na který je ControlTemplate použit.

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

Poznámky

Pomocí TemplateBinding šablony můžete vytvořit vazbu na hodnotu ovládacího prvku, na který se šablona použije. A TemplateBinding je efektivnější než funkce Binding , ale má méně funkcí. TemplateBinding Použití je ekvivalentní použití Binding s vlastností nastavenou RelativeSource na RelativeSource.TemplatedParent.

Použití textu XAML

Informace o XAML naleznete v tématu TemplateBinding Markup Extension.

Konstruktory

TemplateBindingExtension()

Inicializuje novou instanci TemplateBindingExtension třídy.

TemplateBindingExtension(DependencyProperty)

Inicializuje novou instanci TemplateBindingExtension třídy se zadanou závislost vlastnost, která je zdrojem vazby.

Vlastnosti

Converter

Získá nebo nastaví převaděč, který interpretuje mezi zdrojem a cílem vazby.

ConverterParameter

Získá nebo nastaví parametr pro předání převaděči.

Property

Získá nebo nastaví vlastnost, která je vázána.

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
ProvideValue(IServiceProvider)

Vrátí objekt, který by měl být nastaven jako hodnota vlastnosti cílového objektu pro toto rozšíření značek. Jedná TemplateBindingExtensionse o výraz (TemplateBindingExpression), který podporuje vazbu.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro