Bagikan melalui


TemplateBindingExtension Kelas

Definisi

Menerapkan ekstensi markup yang mendukung pengikatan antara nilai properti dalam templat dan nilai beberapa properti lain yang diekspos pada kontrol templat.

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
Warisan
TemplateBindingExtension
Atribut

Contoh

Contoh berikut menunjukkan ControlTemplate yang mendefinisikan ListBox yang horizontal dan memiliki sudut bulat. TemplateBinding menunjukkan bahwa Background dari Border harus disinkronkan dengan Background nilai yang diatur pada ListBox. Anda menggunakan TemplateBinding di ControlTemplate saat Anda ingin memberi pengguna kontrol Anda kontrol atas nilai properti tertentu. Untuk diskusi tentang contoh ini, lihat Gaya dan Templat.

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

Contoh berikut menunjukkan ControlTemplate kontrol Label . Properti HorizontalAlignment dan VerticalAlignment terikat ke nilai HorizontalContentAlignmentVerticalContentAlignment dan properti Label kontrol tempat ini ControlTemplate diterapkan.

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

Keterangan

Anda menggunakan TemplateBinding dalam templat untuk mengikat ke nilai pada kontrol tempat templat diterapkan. A TemplateBinding lebih efisien daripada tetapi Binding memiliki lebih sedikit fungsionalitas. TemplateBinding Menggunakan setara dengan menggunakan dengan properti yang BindingRelativeSource diatur ke RelativeSource.TemplatedParent.

Penggunaan Teks XAML

Untuk informasi XAML, lihat TemplateBinding Markup Extension.

Konstruktor

Nama Deskripsi
TemplateBindingExtension()

Menginisialisasi instans baru dari kelas TemplateBindingExtension.

TemplateBindingExtension(DependencyProperty)

Menginisialisasi instans TemplateBindingExtension baru kelas dengan properti dependensi yang ditentukan yang merupakan sumber pengikatan.

Properti

Nama Deskripsi
Converter

Mendapatkan atau mengatur pengonversi yang menginterpretasikan antara sumber dan target pengikatan.

ConverterParameter

Mendapatkan atau mengatur parameter untuk diteruskan ke pengonversi.

Property

Mendapatkan atau mengatur properti yang terikat.

Metode

Nama Deskripsi
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
ProvideValue(IServiceProvider)

Mengembalikan objek yang harus ditetapkan sebagai nilai pada properti objek target untuk ekstensi markup ini. Untuk TemplateBindingExtension, ini adalah ekspresi (TemplateBindingExpression) yang mendukung pengikatan.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk