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.
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özdizimlerinde, [] ve * sabit değerler değildir. Bunlar, aralarında , ayırıcı bulunan ve önceki bindProp=value çiftlerinden önce gelen sıfır veya daha fazla bindProp=value çiftinin kullanılabileceğini belirtmek için kullanılan 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 Binding işaretleme uzantısının 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, <BindingbindProp1="value1"[bindPropN="valueN"]*/>Binding nesne elementi kullanımı için ifade kullanımı yerine eşdeğer bir sözdizimidir. Belirli `Binding` özelliklerinin XAML öznitelik kullanımı hakkında bilgi edinmek için, .NET Framework Sınıf Kitaplığı'nda Binding ile ilgili özelliğin "XAML Öznitelik Kullanımı" bölümüne bakın.
XAML Değerleri
| Değer | Açıklama |
|---|---|
bindProp1, bindPropN |
Ayarlanacak Binding veya BindingBase özelliğinin adı. Tüm Binding özellikler Binding uzantısıyla ayarlanamaz ve bazı özellikler, yalnızca daha fazla iç içe işaretleme uzantısı kullanılarak bir Binding ifade içinde 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 |
Öztanımlı Binding.Path özelliğini ayarlayan yol dizesi. Ayrıca bkz. PropertyPath XAML Sözdizimi. |
Niteliksiz {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.Pathnulliçerir. Bu, birçok senaryoda hâlâ yararlıdır çünkü oluşturulan Binding, çalıştırma zamanı veri bağlamında Binding.Path ve Binding.Source gibi anahtar veri bağlama özelliklerinin ayarlanmasına bağlı olabilir. Veri bağlamı kavramı hakkında daha fazla bilgi için bkz . Veri Bağlama.
Gizli Yol
İşaretleme Binding uzantısı, ifadede görünmesi gerekmeyen Path= için kavramsal bir "varsayılan özellik" olarak Binding.Path kullanır. Örtük bir yola sahip bir Binding ifadesi belirttiğinizde, ifadede örtük yolun Binding özelliğinin ada göre belirtildiği diğer bindProp=value çiftlerinden önce yer alması gerekir. Örneğin: {Binding PathString}, burada PathString, işaretleme uzantısının kullanımıyla oluşturulan Binding içinde, Binding.Path değerine karşılık gelen 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, BindingBase veya Binding nın birçok okuma/yazma özelliğinin Binding işaretleme uzantısı / ifade söz dizimi aracılığıyla ayarlanabilmesi nedeniyle, genel bindProp=value yaklaşık değerini kullanır. Bunlar, Binding.Path örtük bir hariç olmak üzere herhangi bir sırada ayarlanabilir. (c0'ı açıkça belirtmek 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 bindProp her =valueBinding birine tırnak işareti yerleştirmemeniz dışında.
BindingGroupName: olası bir bağlama grubunu tanımlayan bir dize. Bu, nispeten gelişmiş bir bağlama kavramıdır; BindingGroupName için başvuru sayfasına bakın.
BindsDirectlyToSource: Boole, veya
trueolabilirfalse. Varsayılan değer:false.Converter: ifadesinde bir
bindProp=valuedize olarak ayarlanabilir, ancak bunu yapmak için StaticResource Markup Extension gibi değerlere bir nesne başvurusu gerekir. Bu örnekteki değer, özel dönüştürücü sınıfının bir örneğidir.ConverterCulture: ifadesinde standartlara dayalı bir tanımlayıcı olarak ayarlanabilir; ConverterCulture ile ilgili başvuru konusuna bakın.
ConverterParameter: ifadesinde bir
bindProp=valuedize olarak ayarlanabilir, ancak bu, geçirilen parametrenin türüne bağlıdır. Değer için bir başvuru türü geçiriliyorsa, bu kullanım, iç içe StaticResource Markup Extension gibi bir nesne başvurusu gerektirir.ElementName: karşılıklı dışlama ile RelativeSource ve Source; bu bağlama özelliklerinin her biri belirli bir bağlama metodolojisini temsil eder. Bkz. Veri Bağlamaya Genel Bakış.
FallbackValue: ifadesinde bir
bindProp=valuedize olarak ayarlanabilir, ancak bu, geçirilen değerin türüne bağlıdır. Bir başvuru türü geçiriliyorsa, iç içe bir StaticResource Biçimlendirme Uzantısı gibi bir nesne referansı gerektirir.IsAsync: Boolean,
trueveyafalseolabilir. Varsayılan değer:false.Mode: değer , numaralandırmadan BindingMode sabit bir addır. Örneğin,
{Binding Mode=OneWay}.NotifyOnSourceUpdated: Boolean,
trueveyafalseolabilir. Varsayılan değer:false.NotifyOnTargetUpdated: Boolean, ya
trueya dafalseolabilir. Varsayılan değer:false.NotifyOnValidationError: Boolean, ya
trueya dafalseolabilir. Varsayılan değer:false.Path: veri nesnesine veya genel nesne modeline giden yolu açıklayan bir dize. Biçim, bu konuda yeterince açıklanamayan bir nesne modelini geçmek için çeşitli farklı yöntemler sağlar. Bkz. PropertyPath XAML Sözdizimi.
RelativeSource: ElementName ve Source ile karşılaştırıldığında, karşılıklı olarak birbirini dışlar; bu bağlama özelliklerinin her biri belirli bir bağlama metodolojisini temsil eder. Bkz. Veri Bağlamaya Genel Bakış. Değeri belirtmek için iç içe RelativeSource MarkupExtension kullanımı gerektirir.
Source: karşılıklı dışlama ile RelativeSource ve ElementName; bu bağlama özelliklerinin her biri belirli bir bağlama metodolojisini temsil eder. Bkz. Veri Bağlamaya Genel Bakış. Genellikle anahtarlı kaynak sözlüğünden bir nesne veri kaynağına başvuran iç içe bir uzantı kullanımı gerektirir, bu da bir StaticResource Markup Extension'dır.
StringFormat: bağlı veriler için bir dize biçimi kuralını açıklayan bir dize. Bu, nispeten gelişmiş bir bağlama kavramıdır; StringFormat için başvuru sayfasına bakın.
TargetNullValue: ifadesinde bir
bindProp=valuedize olarak ayarlanabilir, ancak bu, geçirilen parametrenin türüne bağlıdır. Değer için bir referans türü geçiriyorsanız, iç içe StaticResource Markup Extension gibi bir nesne referansı gerektirir.UpdateSourceTrigger: değer , numaralandırmadan UpdateSourceTrigger sabit bir addır. Örneğin,
{Binding UpdateSourceTrigger=LostFocus}. Belirli denetimlerin bu bağlama özelliği için farklı varsayılan değerleri olabilir. Bkz. UpdateSourceTrigger.ValidatesOnDataErrors: Boolean, ya
trueya dafalseolabilir. Varsayılan değer:false. Bkz. Açıklamalar.ValidatesOnExceptions: Boolean, ya
trueya dafalseolabilir. Varsayılan değer:false. Bkz. Açıklamalar.XPath: XML veri kaynağının XMLDOM'sine giden yolu açıklayan dize. Bkz . XMLDataProvider ve XPath Sorguları Kullanarak XML Verilerine Bağlama.
Binding’ın, Binding işaretleme uzantısı/{Binding} ifade formu kullanılarak ayarlanamayan özellikleri aşağıda yer alır.
UpdateSourceExceptionFilter: bu özellik bir geri çağırma fonksiyonuna 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
Bindingkullanım için kullanılabilir öznitelik ayrıştırma tekniği yoktur. ValidationRules için referans konusuna bakın.
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. Eğer daha önce bir Binding ifadesine sahip bir özellik için yerel bir değer ayarlarsanız, Binding tamamen kaldırılır. Ayrıntılar için bkz. Bağımlılık Özellik 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ış.
Uyarı
MultiBinding ve PriorityBinding XAML uzantısı söz dizimlerini desteklemez. Bunun yerine özellik öğelerini kullanırsınız. MultiBinding ve PriorityBinding için başvuru konularına bakın.
XAML için Boole değerleri büyük/küçük harfe duyarlı değildir. Örneğin, ya {Binding NotifyOnValidationError=true} ya da {Binding NotifyOnValidationError=True} belirtebilirsiniz.
Veri doğrulaması içeren bağlamalar, genellikle bir ifade olarak değil, açık bir Binding öğesi ile belirtilir ve ifadede ValidatesOnDataErrors veya ValidatesOnExceptions ayarlamak nadirdir. Bunun nedeni, eşlikçi özelliğinin ValidationRules ifade formunda kolayca ayarlanamamasıdır. Daha fazla bilgi için Bağlama Doğrulaması Uygulama bölümüne bakın.
Binding bir işaretleme uzantısıdır. İşaretleme uzantıları, öznitelik değerlerinin değişmez değerler veya işleyici adları dışında bir şey olarak oluşturulması gerektiğinde ve bu gereksinimin, belirli türler veya özellikler üzerinde atanan tür dönüştürücülerden daha genel olduğu durumlarda genellikle 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 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 bakınız
.NET Desktop feedback