BindingBase.ProvideValue(IServiceProvider) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zwraca obiekt, który należy ustawić we właściwości, w której jest stosowane to powiązanie i rozszerzenie.
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
Parametry
- serviceProvider
- IServiceProvider
Obiekt, który może świadczyć usługi dla rozszerzenia znaczników. Może to być null
.
Zwraca
Wartość do ustawienia we właściwości docelowej powiązania.
Uwagi
Ta implementacja zapewnia podstawową obsługę składni dla powiązania za pomocą języka XAML (Extensible Application Markup Language) dla wszystkich dostarczanych praktycznych klas pochodnych (Binding, PriorityBinding, i MultiBinding).
Oczekuje się, że implementacja BindingBase klasy tej metody zwróci obiekt wyrażenia, który jest wynikiem powiązania. Powiązanie właściwości działa przez określanie wartości docelowej dla danej DependencyProperty DependencyObjectwartości . Te dwie informacje są przesyłane przez zapytanie o implementację IProvideValueTarget w serviceProvider
obiekcie , który czytnik XAML WPF udostępnia podczas analizowania powiązania. Ta implementacja klasy bazowej jest odpowiedzialna za sprawdzanie poprawności DependencyProperty i DependencyObject. Jeśli zostaną znalezione, rzeczywista implementacja zwracania wyrażenia powiązania przypada na różne klasy pochodne, jak zaimplementowano przez wywołanie wewnętrznej metody abstrakcyjnej klasy bazowej. W przeciwnym razie rozszerzenie zwraca sam obiekt powiązania. Zwracanie samego powiązania powoduje wystąpienie błędu niezgodności typu, ale nie powinno to nastąpić w normalnych okolicznościach.
Ważne
Ponieważ składnia powiązania za pośrednictwem języka XAML zaimplementowana w tej metodzie opiera się na implementowaniu wewnętrznego zastąpienia, a ponieważ BindingBase.ProvideValue sama jest zapieczętowana, niestandardowa klasa powiązania pochodząca z BindingBase klasy nie będzie działać poprawnie jako rozszerzenie znaczników XAML.