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 , který definuje vodorovný ListBox a má zaoblené rohy. Označuje TemplateBinding , že Background se Border má synchronizovat s Background hodnotou, která je nastavena ListBoxna . TemplateBinding Používáte ho, ControlTemplate když chcete dát uživateli řízení 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ý se vztahuje ControlTemplate .

<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

V šabloně slouží TemplateBinding k vytvoření vazby 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 Rozšíření značek TemplateBinding.

Konstruktory

Name Description
TemplateBindingExtension()

Inicializuje novou instanci TemplateBindingExtension třídy.

TemplateBindingExtension(DependencyProperty)

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

Vlastnosti

Name Description
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, ke které je vázána.

Metody

Name Description
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

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

Slouží jako výchozí funkce hash.

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

Získá Type aktuální instance.

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

Vytvoří mělkou kopii aktuálního 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