Biçimlendirme Uzantısı Bağlama

Bir özellik değerini veriye bağlı değer olacak şekilde karşılar, ara ifade nesnesi oluşturur ve çalışma zamanında öğe ve bağlaması için geçerli olan veri bağlamını yorumlar.

Bağlama İfadesi Kullanımı

<object property="{Binding}" .../>  
-or-  
<object property="{Binding  bindProp1=value1[, bindPropN=valueN]*}" ...  
/>  
-or-  
<object property="{Binding path}" .../>  
-or  
<object property="{Binding path[, bindPropN=valueN]*}" .../>  

Söz Dizimi Notları

Bu söz dizimlerde [] ve * değişmez değişmez değildir. Bunlar, sıfır veya daha fazla bindProp değer çifti ile aralarında bir ayırıcı ve önceki bindPropdeğer çiftleri ile birlikte kullanılaacağını belirten bir belirteci kapsamındadır.

Bunun yerine bir nesne öğesinin öznitelikleri kullanılarak "Bağlama Uzantısı ile Ayarlanabilirsiniz Bağlama Özellikleri" bölümünde listelenen Binding özelliklerden herhangi biri ayarlandırabilirsiniz. Ancak, bu gerçekten işaretleme uzantısı kullanımı değildir, yalnızca CLR sınıfının özelliklerini ayaran özniteliklerin Binding genel XAML Binding işlemesidir. Başka bir deyişle <Binding<Binding="=""["[valueN, ifade kullanımı yerine nesne öğesi kullanımının öznitelikleri için ="=""]*/> eşdeğer bir söz BindingBinding dizimidir. 'nin belirli özelliklerinin XAML öznitelik kullanımı hakkında bilgi edinmek için Sınıf Kitaplığı'nın ilgili özelliğinin Binding "XAML Öznitelik Binding Kullanımı" bölümüne .NET Framework bakın.

XAML Değerleri

bindProp1, bindPropN Ayar için Binding veya BindingBase özelliğinin adı. Tüm özellikler uzantıyla ayarlanmaz ve bazı özellikler yalnızca iç içe geçmiş işaretleme uzantıları kullanılarak bir ifade BindingBinding içinde Binding ayarlanmaz. Bkz. "Bağlama Uzantısı ile Ayarlan neler Olabilir Bağlama Özellikleri" bölümüne bakın.
value1, valueN Özelliğinin ayar değeri. Öznitelik değerinin işlenmesi, belirli bir özelliğin türüne ve mantığına Binding nihai olarak özeldir.
path Örtülü özelliği ayar alan yol Binding.Path dizesi. Ayrıca bkz. PropertyPath XAML Söz Dizimi.

Unqualified {Binding}

{Binding}"Bağlama İfade Kullanımı" içinde gösterilen kullanım, başlangıç değeri içeren Binding varsayılan değerlerle bir nesnesi Binding.Pathnull oluşturur. Oluşturulan, çalışma zamanı veri bağlamında ve gibi temel veri bağlama özelliklerine bağlı olabileceği için bu, birçok senaryoda BindingBinding.Path hala Binding.Source yararlıdır. Veri bağlamı kavramı hakkında daha fazla bilgi için bkz. Veri Bağlama.

Örtülü Yol

İşaretleme uzantısı, ifadede görünmesi gerek görünmeden BindingBinding.Path kavramsal bir Path= "varsayılan özellik" olarak kullanır. Bir ifadeyi örtülü yol ile belirtirsiniz, özelliğin ad tarafından belirtiliyor olduğu diğer çiftlerin öncesinde, örtülü yol ifadede ilk BindingbindProp=valueBinding olarak görünebilmelidir. Örneğin: , burada, işaretleme uzantısı kullanımı tarafından oluşturulan içinde değeri olarak {Binding PathString}PathStringBinding.PathBinding değerlendirilen bir dizedir. Virgül ayırıcıdan sonra diğer adlandırılmış özelliklerle örtülü bir yol ekebilirsiniz, örneğin, {Binding LastName, Mode=TwoWay} .

Bağlama Uzantısıyla Ayarlanabilirsiniz Bağlama Özellikleri

bu konuda gösterilen söz dizimi genel yaklaşık değeri kullanır çünkü veya biçimlendirme uzantısı/ ifade söz dizimi aracılığıyla ayarlanacak birçok bindProp=valueBindingBaseBindingBinding okuma/yazma özelliği vardır. Bunlar, örtülü bir dışında herhangi bir sırayla ayarlansa Binding.Path da. (Açıkça belirtme seçeneğiniz Path= vardır, bu durumda herhangi bir sırayla ayarlandırabilirsiniz). Temelde, virgülle ayrılmış çiftleri kullanarak aşağıdaki listede yer alan sıfır veya daha bindProp=value fazla özelliği ayarlayabilirsiniz.

Bu özellik değerlerinden birkaçı, XAML'deki bir metin söz dizimlerinden yerel tür dönüştürmesini desteklemeyen nesne türlerini gerektirir ve bu nedenle öznitelik değeri olarak ayar için işaretleme uzantıları gerektirir. Daha fazla bilgi için her özellik için .NET Framework Sınıf Kitaplığı'nın XAML Öznitelik Kullanımı bölümünü denetleyin; daha fazla işaretleme uzantısı kullanımı olan veya olmayan XAML özniteliği söz dizimi için kullanılan dize temelde bir ifadede belirttiğiniz değerle aynıdır ve ifadede her biri için tırnak işareti Binding eklemezsiniz. bindProp=valueBinding

Aşağıda, işaretleme Binding uzantısı/ ifade formu kullanılarak Binding ayarlanamaz özellikleri {Binding} ve bulunmaktadır.

  • UpdateSourceExceptionFilter: Bu özellik bir geri çağırma uygulamasına başvuru bekler. XAML söz dizimsinde olay işleyicileri dışında geri çağırmalara/yöntemlere başvuruamaz.

  • ValidationRules: özelliği nesnelerin genel bir koleksiyonunu ValidationRule alır. Bu, nesne öğesinde bir özellik öğesi olarak ifade olabilir, ancak bir ifadede kullanım için kullanılabilir öznitelik ayrıştırma Binding tekniği Binding yoktur. için başvuru konu başlığına ValidationRules bakın.

  • XmlNamespaceManager

Açıklamalar

Önemli

Bağımlılık özelliği önceliği açısından ifade, Binding yerel olarak ayarlanmış bir değere eşdeğerdir. Daha önce bir ifadeye sahip olan bir özellik için yerel bir değer Binding ayarsanız, Binding tamamen kaldırılır. Ayrıntılar için bkz. Bağımlılık Özelliği Değeri Önceliği.

Veri bağlamayı temel düzeyde açıklama bu konuda ele değildir. Bkz. Veri Bağlamaya Genel Bakış.

Not

MultiBinding ve PriorityBinding bir XAML uzantısı söz dizimini desteklemez. Bunun yerine özellik öğelerini kullanabilirsiniz. ve için başvuru konularına MultiBindingPriorityBinding bakın.

XAML için Boole değerleri büyük/küçük harfe duyarlıdır. Örneğin, ya da belirtebilirsiniz {Binding NotifyOnValidationError=true}{Binding NotifyOnValidationError=True} .

Veri doğrulamayı içeren bağlamalar genellikle ifade olarak değil açık bir öğe tarafından belirtilir Binding{Binding ...} ve ValidatesOnDataErrorsValidatesOnExceptions bir ifadede veya bir ifadede ayarlanması çok seyrek olur. Bunun nedeni, yardımcı özelliğin ValidationRules ifade biçiminde kolayca ayarlanamamasıdır. Daha fazla bilgi için bkz. bağlama doğrulamasını uygulama.

Binding bir biçimlendirme uzantısıdır. Biçimlendirme uzantıları genellikle öznitelik değerlerinin sabit değerler veya işleyici adlarından farklı olması için bir gereksinim olduğunda uygulanır ve gereksinim, belirli tür veya özelliklere sahip tür dönüştürücülerden daha geneldir. XAML 'deki tüm biçimlendirme uzantıları, {} öznitelik sözdiziminde ve karakterlerini kullanır. Bu, XAML işlemcisinin bir biçimlendirme uzantısının dize içeriğini işlemesi gerektiğini tanıdığı bir kuraldır. Daha fazla bilgi için bkz. Biçimlendirme uzantıları ve WPF XAML.

Binding , Binding WPF 'nın xaml uygulamasına yönelik uzantı işlevselliğini uygulayan sınıfın Ayrıca XAML ile ilgili olmayan diğer birçok yöntemi ve özelliği de uyguladığı bir tipik biçimlendirme uzantısıdır. Diğer Üyeler, Binding XAML biçimlendirme uzantısı olarak çalışmaya ek olarak birçok veri bağlama senaryosunu ele alan daha çok yönlü ve kendi kendine içerilen bir sınıf oluşturmak için tasarlanmıştır.

Ayrıca bkz.