BindingBase.ProvideValue(IServiceProvider) Metode

Definisi

Mengembalikan objek yang harus diatur pada properti tempat pengikatan dan ekstensi ini diterapkan.

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

Parameter

serviceProvider
IServiceProvider

Objek yang dapat menyediakan layanan untuk ekstensi markup. Mungkin null.

Mengembalikan

Nilai yang akan diatur pada properti target pengikatan.

Keterangan

Implementasi ini menyediakan dukungan sintaks dasar untuk mengikat melalui Extensible Application Markup Language (XAML) untuk semua kelas turunan praktis yang disediakan (Binding, PriorityBinding, dan MultiBinding).

Implementasi BindingBase kelas dari metode ini diharapkan mengembalikan objek ekspresi yang merupakan hasil pengikatan. Mengikat properti berfungsi dengan menargetkan yang diberikan DependencyProperty pada .DependencyObject Kedua informasi ini dikirimkan dengan mengkueri implementasi IProvideValueTarget pada serviceProvider, yang disediakan pembaca XAML WPF selama penguraian pengikatan. Implementasi kelas dasar ini bertanggung jawab untuk memeriksa yang valid DependencyProperty dan DependencyObject. Jika ini ditemukan, implementasi aktual dari mengembalikan ekspresi pengikatan jatuh ke berbagai kelas turunan, seperti yang diimplementasikan dengan meminta kelas dasar memanggil metode abstrak internal. Jika tidak, ekstensi mengembalikan objek pengikatan itu sendiri. Mengembalikan pengikatan itu sendiri menghasilkan kesalahan ketidakcocokan jenis, tetapi ini tidak boleh terjadi dalam keadaan normal.

Important

Karena sintaks untuk mengikat melalui XAML seperti yang diimplementasikan dalam metode ini bergantung pada penerapan penimpaan internal, dan karena BindingBase.ProvideValue itu sendiri disegel, kelas pengikatan kustom yang berasal dari BindingBase tidak akan berfungsi dengan benar sebagai ekstensi markup XAML.

Berlaku untuk