BindingBase.ProvideValue(IServiceProvider) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Retourneert een object dat moet worden ingesteld op de eigenschap waarop deze binding en extensie worden toegepast.
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
Parameters
- serviceProvider
- IServiceProvider
Het object dat services kan bieden voor de markeringsextensie. Misschien wel null.
Retouren
De waarde die moet worden ingesteld voor de eigenschap bindingsdoel.
Opmerkingen
Deze implementatie biedt de basissyntaxisondersteuning voor binding via Extensible Application Markup Language (XAML) voor alle opgegeven praktische afgeleide klassen (Binding, PriorityBindingen MultiBinding).
De BindingBase klasse-implementatie van deze methode retourneert naar verwachting een expressieobject dat het resultaat is van een binding. Het binden van een eigenschap werkt door een bepaalde DependencyProperty eigenschap te richten op een bepaalde DependencyObjecteigenschap. Deze twee gegevens worden verzonden door een query uit te voeren op een IProvideValueTarget-implementatie op de serviceProvider, die de WPF XAML-lezer beschikbaar maakt tijdens het parseren van een binding. Deze basisklasse-implementatie is verantwoordelijk voor het controleren op een geldige DependencyProperty en DependencyObject. Als deze worden gevonden, valt de daadwerkelijke implementatie van het retourneren van een bindingsexpressie in verschillende afgeleide klassen, zoals geïmplementeerd door de basisklasse een interne abstracte methode aan te roepen. Anders retourneert de extensie het bindingsobject zelf. Als u de binding zelf retourneert, resulteert dit in een fout die niet overeenkomt met het type, maar dit mag niet gebeuren onder normale omstandigheden.
Important
Omdat de syntaxis voor binding via XAML, zoals geïmplementeerd in deze methode, afhankelijk is van het implementeren van een interne onderdrukking en omdat BindingBase.ProvideValue zichzelf is verzegeld, werkt een aangepaste bindingsklasse die is afgeleid van BindingBase , niet correct als een XAML-markeringsextensie.