BindingBase.ProvideValue(IServiceProvider) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.