TemplateBindingExtension Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Ş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
- Ö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) |