Partager via


BindingBase.ProvideValue(IServiceProvider) Méthode

Définition

Retourne un objet qui doit être défini sur la propriété où cette liaison et cette extension sont appliquées.

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

Paramètres

serviceProvider
IServiceProvider

Objet qui peut fournir des services pour l’extension de balisage. Peut avoir la valeur null.

Retours

Valeur à définir sur la propriété de cible de liaison.

Remarques

Cette implémentation fournit la prise en charge de la syntaxe de base pour la liaison via XAML (Extensible Application Markup Language) pour toutes les classes dérivées pratiques (Binding, PriorityBinding, et MultiBinding).

L’implémentation BindingBase de classe de cette méthode est censée retourner un objet expression qui est le résultat d’une liaison. La liaison d’une propriété fonctionne en ciblant un donné DependencyProperty sur un donné DependencyObject. Ces deux éléments d’informations sont transmis en interrogeant une IProvideValueTarget implémentation sur le serviceProvider, que le lecteur XAML WPF rend disponible lors de l’analyse d’une liaison. Cette implémentation de classe de base est chargée de vérifier les valeurs valides DependencyProperty et DependencyObject. Si celles-ci sont trouvées, l’implémentation réelle du retour d’une expression de liaison appartient à différentes classes dérivées, comme implémentée en demandant à la classe de base d’appeler une méthode abstraite interne. Sinon, l’extension retourne l’objet de liaison lui-même. Le renvoi de la liaison elle-même génère une erreur de non-correspondance de type, mais cela ne doit pas se produire dans des circonstances normales.

Important

Étant donné que la syntaxe de liaison via XAML telle qu’implémentée dans cette méthode repose sur l’implémentation d’un remplacement interne, et comme BindingBase.ProvideValue elle-même est scellée, une classe de liaison personnalisée qui dérive de BindingBase ne fonctionne pas correctement en tant qu’extension de balisage XAML.

S’applique à