Condividi tramite


BindingBase.ProvideValue(IServiceProvider) Metodo

Definizione

Restituisce un oggetto che deve essere impostato sulla proprietà in cui vengono applicate l'associazione e l'estensione.

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

Parametri

serviceProvider
IServiceProvider

Oggetto che può fornire servizi per l'estensione di markup. Può essere null.

Restituisce

Object

Valore da impostare nella proprietà di destinazione dell'associazione.

Commenti

Questa implementazione fornisce il supporto della sintassi di base per l'associazione tramite Extensible Application Markup Language (XAML) per tutte le classi derivate pratiche fornite (Binding, PriorityBindinge MultiBinding).

L'implementazione BindingBase della classe di questo metodo è prevista per restituire un oggetto expression che è il risultato di un'associazione. L'associazione di una proprietà funziona con la destinazione di un determinato oggetto in un determinato DependencyProperty DependencyObjectoggetto . Queste due informazioni vengono trasmesse eseguendo query per un'implementazione IProvideValueTarget in serviceProvider, che il lettore XAML WPF rende disponibile durante l'analisi di un'associazione. Questa implementazione della classe di base è responsabile del controllo di una classe valida DependencyProperty e DependencyObject. Se vengono trovati, l'implementazione effettiva della restituzione di un'espressione di associazione rientra in varie classi derivate, come implementato dalla chiamata della classe base a un metodo astratto interno. In caso contrario, l'estensione restituisce l'oggetto binding stesso. La restituzione dell'associazione stessa comporta un errore di mancata corrispondenza del tipo, ma questo non deve verificarsi in circostanze normali.

Importante

Poiché la sintassi per l'associazione tramite XAML implementata in questo metodo si basa sull'implementazione di un override interno e, poiché BindingBase.ProvideValue se stessa è bloccata, una classe di associazione personalizzata che deriva da BindingBase non funzionerà correttamente come estensione di markup XAML.

Si applica a