BindingBase.ProvideValue(IServiceProvider) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt ein Objekt zurück, das für die Eigenschaft festgelegt werden soll, auf die diese Bindung und Erweiterung angewendet werden soll.
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
Das Objekt, das Dienste für die Markuperweiterung bereitstellen kann. Kann null sein.
Gibt zurück
Der Wert, der für die Bindungszieleigenschaft festgelegt werden soll.
Hinweise
Diese Implementierung bietet die Basissyntaxunterstützung für die Bindung über Extensible Application Markup Language (XAML) für alle bereitgestellten praktisch abgeleiteten Klassen (Binding, PriorityBindingund MultiBinding).
Die BindingBase Klassenimplementierung dieser Methode wird erwartet, dass ein Ausdrucksobjekt zurückgegeben wird, das das Ergebnis einer Bindung ist. Das Binden einer Eigenschaft funktioniert, indem eine bestimmte Eigenschaft für ein bestimmtes DependencyProperty Objekt verwendet wird DependencyObject. Diese beiden Informationselemente werden durch Abfragen einer IProvideValueTarget-Implementierung für die serviceProvider übertragen, die der WPF XAML-Reader während der Analyse einer Bindung zur Verfügung stellt. Diese Basisklassenimplementierung ist für die Überprüfung auf ein gültiges und DependencyProperty.DependencyObject Wenn diese gefunden werden, fällt die tatsächliche Implementierung der Rückgabe eines Bindungsausdrucks auf verschiedene abgeleitete Klassen, wie sie durch aufrufen der Basisklasse eine interne abstrakte Methode implementiert wird. Andernfalls gibt die Erweiterung das Bindungsobjekt selbst zurück. Das Zurückgeben der Bindung selbst führt zu einem Typkonfliktfehler, aber dies sollte unter normalen Umständen nicht auftreten.
Important
Da die Syntax für die Bindung über XAML wie in dieser Methode implementiert wird, basiert auf der Implementierung einer internen Außerkraftsetzung, und da BindingBase.ProvideValue selbst versiegelt ist, funktioniert eine benutzerdefinierte Bindungsklasse, von BindingBase der abgeleitet wird, nicht ordnungsgemäß als XAML-Markuperweiterung.