Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Denetim şablonundaki bir özelliğin değerini, şablonlanmış denetimdeki başka bir özelliğin değeri olacak şekilde bağlar.
XAML Öznitelik Kullanımı
<object property="{TemplateBinding sourceProperty}" ... />
XAML Öznitelik Kullanımı (şablon veya stildeki Setter özelliği için)
<Setter Property="propertyName" Value="{TemplateBinding sourceProperty}" ... />
XAML Değerleri
| Değer | Açıklama |
|---|---|
propertyName |
Özelliğin ayarlayıcı söz diziminde DependencyProperty.Name olarak ayarlanması. |
sourceProperty |
Şablonlanan tür üzerinde var olan ve DependencyProperty.Nametarafından belirtilen başka bir bağımlılık özelliği. -veya- Şablonlanan hedef türden farklı bir tür tarafından tanımlanan "noktalarla ayrılmış" özellik adı. Bu aslında bir PropertyPath. Bkz. PropertyPath XAML Sözdizimi. |
Açıklamalar
TemplateBinding, Bindingile yapılan bir Binding'ye benzer şekilde, şablon senaryoları için optimize edilmiş bir {Binding RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay} biçimidir. özellikler varsayılan olarak iki yönlü bağlamaya dahil olsa bile, TemplateBinding her zaman tek yönlü bağlamadır. İlgili her iki özellik de bağımlılık özellikleri olmalıdır. Şablonlu bir üst öğeye iki yönlü bağlama elde etmek için {Binding RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay, Path=MyDependencyProperty}yerine aşağıdaki bağlama deyimini kullanın.
RelativeSource, bazen bir şablon içinde göreli özellik bağlaması gerçekleştirmek için TemplateBinding yerine veya ile 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öz dizimi, bu işaretleme uzantısıyla kullanılan en yaygın söz dizimidir.
TemplateBinding tanımlayıcı dizesinden sonra sağlanan dize belirteci, temel alınan Property uzantı sınıfının TemplateBindingExtension değeri olarak atanır.
Nesne öğesi söz dizimi mümkündür, ancak gerçekçi bir uygulaması olmadığından gösterilmez.
TemplateBinding, değer ayarlayıcılar içindeki değerleri doldurmak, değerlendirilen ifadeler kullanmak ve TemplateBinding özellik öğesi söz dizimini doldurmak için <Setter.Property> için nesne öğesi söz dizimini kullanmak gereksiz yere ayrıntılıdır.
TemplateBinding, Property özelliğini özellik=değer çifti olarak belirten ayrıntılı bir nitelik kullanımında da kullanılabilir.
<object property="{TemplateBinding Property=sourceProperty}" ... />
Ayrıntılı kullanım, birden fazla ayarlanabilir özelliğe sahip uzantılarda veya bazı özellikler opsiyonel olduğunda genellikle yararlıdır.
TemplateBinding'nin yalnızca bir zorunlu ayarlanabilir özelliği olduğundan, bu ayrıntılı kullanım tipik değildir.
WPF XAML işlemci uygulamasında, bu işaretleme uzantısının işlenmesi TemplateBindingExtension sınıfı tarafından tanımlanır.
TemplateBinding bir işaretleme uzantısıdır. İşaretleme uzantıları, genellikle öznitelik değerlerinin sabit değerler ya da işleyici isimlerinden farklı olması gerektiğinde uygulanır ve bu gereksinim, belirli türlere veya özelliklere tür dönüştürücü yerleştirmekten daha geniş kapsamlıdır. XAML'deki tüm işaretleme uzantıları, öznitelik söz diziminde { ve } karakterleri kullanır. Bu, 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 bakınız
.NET Desktop feedback