Biçimlendirme Uzantısı Bağlama

Bir özellik değerini veriye bağlı bir değer olarak saptırarak bir ara ifade nesnesi oluşturur ve çalışma zamanında öğeye ve bağlamasına uygulanan 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 dizimlerinde ve [] * değişmez değer değildir. Bunlar, sıfır veya daha fazla bindProp=değer çiftinin, aralarında bir ayırıcı ile bindProp değer çiftleri arasında bir ayırıcıyla birlikte kullanılabileceğini belirten bir , gösterimin =parçasıdır.

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

XAML Değerleri

Value Açıklama
bindProp1, bindPropN Ayarlanacağı veya BindingBase özelliğinin Binding adı. Tüm Binding özellikler uzantıyla Binding ayarlanamaz ve bazı özellikler bir Binding ifade içinde yalnızca daha fazla iç içe işaretleme uzantısı kullanılarak ayarlanabilir. "Bağlama Uzantısı ile Ayarlanabilen Bağlama Özellikleri" bölümüne bakın.
value1, valueN Özelliğinin ayarlanacağı değer. Öznitelik değerinin işlenmesi, nihai olarak ayarlanan özelliğin Binding türüne ve mantığına özgüdür.
path Örtük Binding.Path özelliği ayarlayan yol dizesi. Ayrıca bkz. PropertyPath XAML Sözdizimi.

Nitelenmemiş {Binding}

{Binding}"Bağlama İfadeSi Kullanımı" içinde gösterilen kullanım, varsayılan değerlere sahip bir Binding nesnesi oluşturur ve bu nesnenin ilk harfini Binding.Path nulliçerir. Oluşturulan Binding , çalışma zamanı veri bağlamında ve gibi Binding.Path Binding.Source anahtar veri bağlama özelliklerine bağlı olabileceğinden, bu durum birçok senaryoda hala yararlıdır. Veri bağlamı kavramı hakkında daha fazla bilgi için bkz . Veri Bağlama.

Örtük Yol

İşaretleme Binding uzantısı, ifadede görünmesi gerekmeyen Path= kavramsal bir "varsayılan özellik" olarak kullanırBinding.Path. Örtük yol içeren bir Binding ifade belirtirseniz, özelliğin ada göre belirtildiği diğervalue bindProp=çiftlerden önce örtük yolun ifadede Binding ilk olarak görünmesi gerekir. Örneğin: {Binding PathString}buradaPathString, işaretleme uzantısı kullanımı tarafından oluşturulan içinde Binding değeri Binding.Path olarak değerlendirilen bir dizedir. Virgül ayırıcısının arkasına diğer adlandırılmış özelliklerle örtük bir yol ekleyebilirsiniz; örneğin, {Binding LastName, Mode=TwoWay}.

Bağlama Uzantısı ile Ayarlanabilen Bağlama Özellikleri

bu konuda gösterilen söz dizimi, işaretleme uzantısı / ifade söz dizimi aracılığıyla ayarlanabilen veya Binding birçok okuma/yazma özelliği BindingBase olduğundan genelvalue=bindProp yaklaşık değeri kullanır.Binding Bunlar, örtük Binding.Pathbir hariç olmak üzere herhangi bir sırada ayarlanabilir. (Açıkça belirtme Path=seçeneğiniz vardır; bu durumda herhangi bir sırada ayarlanabilir). Temel olarak, virgülle ayrılmış çiftleri kullanarak bindProp=value aşağıdaki listeden sıfır veya daha fazla özellik ayarlayabilirsiniz.

Bu özellik değerlerinin birkaçı, XAML'deki bir metin söz diziminden yerel tür dönüştürmesini desteklemeyen nesne türleri gerektirir ve bu nedenle öznitelik değeri olarak ayarlanması için işaretleme uzantıları gerektirir. Daha fazla bilgi için her özellik için .NET Framework Sınıf Kitaplığı'ndaki XAML Öznitelik Kullanımı bölümüne bakın; XAML özniteliği söz dizimi için daha fazla işaretleme uzantısı kullanımıyla veya kullanmadan kullandığınız dize, ifadede Binding belirttiğiniz değerle temel olarak aynıdır; ifadenin Binding her bindProp=value birine tırnak işareti yerleştirmemeniz dışında.

Aşağıda, işaretleme uzantısı/{Binding} ifade formu kullanılarak ayarlanamayan Binding özellikleri Binding yer alır.

  • UpdateSourceExceptionFilter: bu özellik bir geri çağırma uygulamasına başvuru bekler. Olay işleyicileri dışındaki geri çağırmalara/yöntemlere XAML söz diziminde başvurulamaz.

  • ValidationRules: özelliği genel bir nesne koleksiyonu ValidationRule alır. Bu, bir Binding nesne öğesinde özellik öğesi olarak ifade edilebilir, ancak bir ifadedeki Binding kullanım için kullanılabilir öznitelik ayrıştırma tekniği yoktur. için ValidationRulesbaşvuru konusuna 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 Binding değer ayarlarsanız , Binding tamamen kaldırılır. Ayrıntılar için bkz . Bağımlılık Özelliği Değeri Önceliği.

Temel düzeyde veri bağlamayı açıklama konusu bu konuda ele alınmamıştır. Bkz. Veri Bağlamaya Genel Bakış.

Not

MultiBinding ve PriorityBinding XAML uzantısı söz dizimlerini desteklemez. Bunun yerine özellik öğelerini kullanırsınız. ve PriorityBindingiçin MultiBinding başvuru konularına bakın.

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

Veri doğrulamayı içeren bağlamalar genellikle ifade yerine açık Binding bir {Binding ...} öğe tarafından belirtilir ve bir ifadede veya ValidatesOnExceptions ayarı ValidatesOnDataErrors nadirdir. Bunun nedeni, eşlikçi özelliğinin ValidationRules ifade formunda kolayca ayarlanamamasıdır. Daha fazla bilgi için bkz . Bağlama Doğrulaması Uygulama.

Binding bir işaretleme uzantısıdır. İşaretlemeyi uzantıları genellikle, öznitelik değerlerinin değişmez değerler veya işleyici adlarından farklı olması için bir gereksinim olduğunda uygulanır ve gereksinim, belirli türlerde veya özelliklerde özniteliklenen tür dönüştürücülerinden daha geneldir. 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 dize içeriğini işlemesi gerektiğini tanıdığı kuraldır. Daha fazla bilgi için bkz . biçimlendirme uzantıları ve WPF XAML.

Binding , WPF'nin Binding XAML uygulaması için uzantı işlevselliğini uygulayan sınıfın XAML ile ilgili olmayan birkaç yöntem ve özellik de uyguladığı bir atipik işaretleme uzantısıdır. Diğer üyeler, XAML işaretleme uzantısı olarak çalışmaya ek olarak birçok veri bağlama senaryolarını ele alan daha çok yönlü ve bağımsız bir sınıf oluşturmak Binding için tasarlanmıştır.

Ayrıca bkz.