TemplateBinding Biçimlendirme Uzantısı

Denetim şablonunda bir özelliğin değerini, şablonlu denetim üzerinde açıkça gösterilen başka bir özelliğin değerine bağlar.

XAML Öznitelik Kullanımı

<object property="{TemplateBinding sourceProperty}" ... />

XAML Öznitelik Kullanımı (şablon veya stilde Ayarlayıcı özelliği için)

<Setter Property="propertyName" Value="{TemplateBinding sourceProperty}" ... />  

XAML Değerleri

Value Açıklama
propertyName DependencyProperty.Name ayarlayıcı söz diziminde ayarlanan özelliğin.
sourceProperty Şablonlanan tür üzerinde var olan ve tarafından DependencyProperty.Namebelirtilen başka bir bağımlılık özelliği.

- veya -

Şablonu oluşturulan hedef türünden farklı bir tür tarafından tanımlanan "aşağı noktalanmış" özellik adı. Bu aslında bir PropertyPath. Bkz. PropertyPath XAML Sözdizimi.

Açıklamalar

ATemplateBinding, ile {Binding RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay}yapılan bir Binding şablon senaryolarına benzer şekilde iyileştirilmiş bir Binding formdur. Varsayılan olarak iki yönlü bağlamaya dahil olan özellikler olsa bile, A TemplateBinding her zaman tek yönlü bir bağlamadır. İlgili iki özellik de bağımlılık özellikleri olmalıdır. Şablonlu bir üst öğeye iki yönlü bağlama elde etmek için bunun yerine {Binding RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay, Path=MyDependencyProperty}aşağıdaki bağlama deyimini kullanın.

RelativeSource , bazen bir şablon içinde göreli özellik bağlaması gerçekleştirmek için veya yerine TemplateBinding birlikte kullanılan başka bir işaretleme uzantısıdır.

Denetim şablonlarını kavram olarak açıklama burada ele alınmamıştır; daha fazla bilgi için bkz . Denetim Stilleri ve Şablonları.

Öznitelik sözdizimi, bu işaretleme uzantısı ile kullanılan en yaygın sözdizimidir. Tanımlayıcı dizesinden TemplateBinding sonra sağlanan dize belirteci, temel alınan TemplateBindingExtension uzantı sınıfının değeri olarak Property atanır.

Nesne öğesi sözdizimi mümkündür, ancak gerçekçi uygulamaya sahip olmadığından gösterilmez. TemplateBindingayarlayıcılar içindeki değerleri doldurmak için kullanılır, değerlendirilen ifadeler kullanılır ve özellik öğesi söz dizimini doldurmak <Setter.Property> için TemplateBinding için nesne öğesi söz dizimini kullanmak gereksiz yere ayrıntılıdır.

TemplateBinding özelliği bir property=value çifti olarak belirten Property ayrıntılı bir öznitelik kullanımında da kullanılabilir:

<object property="{TemplateBinding Property=sourceProperty}" ... />

Ayrıntılı kullanım, genellikle birden fazla ayarlanabilir özelliğe sahip uzantılar için veya bazı özellikler isteğe bağlıysa yararlıdır. Gerekli olan tek bir ayarlanabilir özelliği olduğundan TemplateBinding , bu ayrıntılı kullanım tipik değildir.

WPF XAML işlemci uygulamasında, bu işaretleme uzantısı için işleme sınıfı tarafından TemplateBindingExtension tanımlanır.

TemplateBinding bir işaretleme uzantısıdır. Biçimlendirme uzantıları, genellikle öznitelik değerlerinin değişmez değerler veya işleyici isimleri dışına çıkma gereksinimi olduğunda ve bu gereksinim, belirli türler veya özellikler üzerine tür dönüştürücülerini koymaktan daha genel olduğunda uygulanır. XAML'deki tüm işaretleme uzantıları öznitelik söz diziminde ve } karakterlerini kullanır{. Bu, bir XAML işlemcisinin işaretleme uzantısının özniteliği işlemesi gerektiğini tanıdığı kuraldır. Daha fazla bilgi için bkz . biçimlendirme uzantıları ve WPF XAML.

Ayrıca bkz.