TemplateBindingExtension Klass

Definition

Implementerar ett påläggstillägg som stöder bindningen mellan värdet för en egenskap i en mall och värdet för någon annan exponerad egenskap i den mallade kontrollen.

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
Arv
TemplateBindingExtension
Attribut

Exempel

I följande exempel visas en ControlTemplate som definierar en ListBox som är vågrät och har rundade hörn. TemplateBinding Anger att Background för Border ska synkroniseras med värdet Background som anges på ListBox. Du använder TemplateBinding i din ControlTemplate när du vill ge användaren kontrollen över värdena för vissa egenskaper. En diskussion om det här exemplet finns i Formatering och 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>

I följande exempel visas ControlTemplate kontrollens.Label Egenskaperna HorizontalAlignment och VerticalAlignment är bundna till värdena HorizontalContentAlignment för egenskaperna och VerticalContentAlignment för den Label kontroll som detta ControlTemplate tillämpas på.

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

Kommentarer

Du använder TemplateBinding i mallen för att binda till ett värde på den kontroll som mallen tillämpas på. A TemplateBinding är effektivare än en Binding men har mindre funktioner. Att använda en TemplateBinding motsvarar att använda en Binding med egenskapen inställd på RelativeSourceRelativeSource.TemplatedParent.

XAML-textanvändning

Mer information om XAML finns i TemplateBinding Markup Extension (MallBinding Markup Extension).

Konstruktorer

Name Description
TemplateBindingExtension()

Initierar en ny instans av TemplateBindingExtension klassen.

TemplateBindingExtension(DependencyProperty)

Initierar en ny instans av TemplateBindingExtension klassen med den angivna beroendeegenskapen som är källan till bindningen.

Egenskaper

Name Description
Converter

Hämtar eller anger konverteraren som tolkar mellan källan och målet för en bindning.

ConverterParameter

Hämtar eller anger parametern som ska skickas till konverteraren.

Property

Hämtar eller ställer in egenskapen som är bunden till.

Metoder

Name Description
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ProvideValue(IServiceProvider)

Returnerar ett objekt som ska anges som värdet på målobjektets egenskap för det här markeringstillägget. För TemplateBindingExtensionär detta ett uttryck (TemplateBindingExpression) som stöder bindningen.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för