Aracılığıyla paylaş


BindingBase.ProvideValue(IServiceProvider) Yöntem

Tanım

Bu bağlama ve uzantının uygulandığı özellikte ayarlanması gereken bir nesne döndürür.

public:
 override System::Object ^ ProvideValue(IServiceProvider ^ serviceProvider);
public override sealed object ProvideValue (IServiceProvider serviceProvider);
override this.ProvideValue : IServiceProvider -> obj
Public Overrides NotOverridable Function ProvideValue (serviceProvider As IServiceProvider) As Object

Parametreler

serviceProvider
IServiceProvider

İşaretlemeyi uzantısı için hizmet sağlayabilen nesne. olabilir null.

Döndürülenler

Bağlama hedef özelliğinde ayarlanacağı değer.

Açıklamalar

Bu uygulama, sağlanan tüm pratik türetilmiş sınıflar (Binding, PriorityBindingve MultiBinding) için Genişletilebilir Uygulama Biçimlendirme Dili (XAML) aracılığıyla bağlama için temel söz dizimi desteği sağlar.

BindingBase Bu yöntemin sınıf uygulamasının bağlamanın sonucu olan bir ifade nesnesi döndürmesi beklenir. Bir özelliği bağlama, belirli DependencyObjectbir üzerinde verilen DependencyProperty öğesini hedefleyerek çalışır. Bu iki bilgi parçası, WPF XAML okuyucusunun bağlama ayrıştırma sırasında kullanıma sunduğu üzerinde serviceProviderbir IProvideValueTarget uygulama sorgulanarak iletilir. Bu temel sınıf uygulaması geçerli DependencyProperty ve DependencyObjectdenetimden sorumludur. Bunlar bulunursa, bağlama ifadesi döndürmenin gerçek uygulaması, temel sınıfın bir iç soyut yöntemi çağırması ile uygulandığı gibi çeşitli türetilmiş sınıflara düşer. Aksi takdirde, uzantı bağlama nesnesinin kendisini döndürür. Bağlamanın döndürülmesi tür uyuşmazlığı hatasına neden olur, ancak normal koşullarda bu oluşmamalıdır.

Önemli

Bu yöntemde uygulanan XAML aracılığıyla bağlama söz dizimi bir iç geçersiz kılma uygulamaya bağlı olduğundan ve kendisi korumalı olduğundan BindingBase.ProvideValue , türetilen BindingBase özel bağlama sınıfı XAML işaretleme uzantısı olarak düzgün çalışmaz.

Şunlara uygulanır