Aracılığıyla paylaş


TemplateBindingExtension Sınıf

Tanım

Şablondaki bir özelliğin değeri ile şablon denetiminde kullanıma sunulan başka bir özelliğin değeri arasındaki bağlamayı destekleyen bir işaretleme uzantısı uygular.

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
Devralma
TemplateBindingExtension
Öznitelikler

Örnekler

Aşağıdaki örnekte, yatay ve yuvarlatılmış köşeleri olan öğesini tanımlayan bir ListBox gösterilmektedirControlTemplate. , TemplateBinding öğesinin Background Border üzerinde ListBoxayarlanan değerle Background eşitlenmesi gerektiğini gösterir. Denetiminizin ControlTemplate kullanıcısına belirli özelliklerin değerleri üzerinde denetim vermek istediğinizde içinde kullanırsınızTemplateBinding. Bu örnekle ilgili bir tartışma için bkz. Stil oluşturma ve Şablon Oluşturma.

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

Aşağıdaki örnek, denetimin öğesini ControlTemplate Label gösterir. HorizontalAlignment ve VerticalAlignment özellikleri, bunun ControlTemplate uygulandığı denetimin HorizontalContentAlignment ve VerticalContentAlignment özelliklerinin Label değerlerine bağlıdır.

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

Açıklamalar

Şablonun uygulandığı denetimdeki bir değere bağlanmak için şablonda kullanırsınız TemplateBinding . A TemplateBinding , a'dan Binding daha verimlidir ancak daha az işlevselliğe sahiptir. kullanmakTemplateBinding, özelliği olarak ayarlanmış RelativeSource.TemplatedParentbir Binding ile kullanmakla RelativeSource eşdeğerdir.

XAML Metni Kullanımı

XAML bilgileri için bkz. TemplateBinding Biçimlendirme Uzantısı.

Oluşturucular

TemplateBindingExtension()

TemplateBindingExtension sınıfının yeni bir örneğini başlatır.

TemplateBindingExtension(DependencyProperty)

Bağlamanın TemplateBindingExtension kaynağı olan belirtilen bağımlılık özelliğiyle sınıfının yeni bir örneğini başlatır.

Özellikler

Converter

Bir bağlamanın kaynağı ve hedefi arasında yorumlayan dönüştürücüleri alır veya ayarlar.

ConverterParameter

Dönüştürücüye geçirmek için parametresini alır veya ayarlar.

Property

Bağlı olan özelliği alır veya ayarlar.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ProvideValue(IServiceProvider)

Bu işaretleme uzantısı için hedef nesnenin özelliğinde değer olarak ayarlanması gereken bir nesne döndürür. için TemplateBindingExtensionbu, bağlamayı destekleyen bir ifadedir (TemplateBindingExpression).

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır