BindingBase.ProvideValue(IServiceProvider) Metod

Definition

Returnerar ett objekt som ska anges på egenskapen där bindningen och tillägget används.

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

Parametrar

serviceProvider
IServiceProvider

Objektet som kan tillhandahålla tjänster för markeringstillägget. Kan vara null.

Returer

Värdet som ska anges för bindningsmålegenskapen.

Kommentarer

Den här implementeringen ger bassyntaxstöd för bindning via XAML (Extensible Application Markup Language) för alla tillhandahållna praktiska härledda klasser (Binding, PriorityBindingoch MultiBinding).

Klassimplementeringen BindingBase av den här metoden förväntas returnera ett uttrycksobjekt som är resultatet av en bindning. Bindning av en egenskap fungerar genom att rikta en given DependencyProperty på en viss DependencyObject. Dessa två delar av informationen överförs genom att fråga efter en IProvideValueTarget-implementering på serviceProvider, som den WPF XAML-läsaren gör tillgänglig under parsning av en bindning. Den här basklassimplementeringen ansvarar för att söka efter en giltig DependencyProperty och DependencyObject. Om dessa hittas faller den faktiska implementeringen av att returnera ett bindningsuttryck till olika härledda klasser, vilket implementeras genom att basklassen anropar en intern abstrakt metod. Annars returnerar tillägget själva bindningsobjektet. Att returnera själva bindningen resulterar i ett typmatchningsfel, men detta bör inte inträffa under normala omständigheter.

Important

Eftersom syntaxen för bindning via XAML som implementeras i den här metoden förlitar sig på att implementera en intern åsidosättning, och eftersom BindingBase.ProvideValue den är förseglad, fungerar inte en anpassad bindningsklass som härleds från BindingBase korrekt som ett XAML-markeringstillägg.

Gäller för