BindingBase.ProvideValue(IServiceProvider) 方法

定义

返回一个应在应用了此绑定和扩展的属性上设置的对象。

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

参数

serviceProvider
IServiceProvider

可为标记扩展提供服务的对象。 可为 null

返回

要在绑定目标属性上设置的值。

注解

此实现通过 Extensible Application Markup Language (XAML) 为所有提供的实际派生类( (BindingPriorityBindingMultiBinding) )提供绑定的基本语法支持。

BindingBase此方法的类实现应返回一个表达式对象,该对象是绑定的结果。 绑定属性的工作原理是针对给定 DependencyProperty 上的给定 DependencyObject。 这两条信息是通过查询 IProvideValueTarget 上的 serviceProvider实现来传输的,WPF XAML 读取器在分析绑定期间提供该实现。 此基类实现负责检查有效的 DependencyPropertyDependencyObject。 如果找到这些,则返回绑定表达式的实际实现将落入各种派生类,正如通过让基类调用内部抽象方法实现的那样。 否则,扩展将返回绑定对象本身。 返回绑定本身会导致类型不匹配错误,但在正常情况下不应发生这种情况。

重要

由于在此方法中实现的通过 XAML 绑定的语法依赖于实现内部重写,并且由于 BindingBase.ProvideValue 自身是密封的,因此派生自 BindingBase 的自定义绑定类将无法作为 XAML 标记扩展正常运行。

适用于