BindingBase.ProvideValue(IServiceProvider) メソッド

定義

このバインディングおよび拡張機能の適用先のプロパティに設定されるオブジェクトを返します。Returns an object that should be set on the property where this binding and extension are applied.

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

マークアップ拡張機能のサービスを提供できるオブジェクト。The object that can provide services for the markup extension. null である可能性があります。May be null;

戻り値

Object

バインディング ターゲット プロパティに設定する値。The value to set on the binding target property.

注釈

この実装は、 Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML) 指定されたすべての実用的な派生クラス ( Binding 、、および) に対してバインディングを行うための基本構文をサポートし PriorityBinding MultiBinding ます。This implementation provides the base syntax support for binding through Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML) for all provided practical derived classes (Binding, PriorityBinding, and MultiBinding).

BindingBaseこのメソッドのクラス実装は、バインディングの結果である式オブジェクトを返すことが想定されています。The BindingBase class implementation of this method is expected to return an expression object that is the result of a binding. プロパティのバインドは、特定ので指定されたを対象とすることによって機能し DependencyProperty DependencyObject ます。Binding a property works by targeting a given DependencyProperty on a given DependencyObject. この2つの情報は、の実装を照会することによって送信され IProvideValueTarget serviceProvider ます。これは、 WPFWPF XAMLXAML バインディングの解析中にリーダーが使用できるようにします。These two pieces of information are transmitted by querying for an IProvideValueTarget implementation on the serviceProvider, which the WPFWPF XAMLXAML reader makes available during parsing of a binding. この基本クラスの実装は、有効なおよびを確認する役割を担い DependencyProperty DependencyObject ます。This base class implementation is responsible for checking for a valid DependencyProperty and DependencyObject. これらが見つかった場合は、基底クラスが内部抽象メソッドを呼び出すことによって実装されているように、バインディング式を返す実際の実装がさまざまな派生クラスに分類されます。If these are found, the actual implementation of returning a binding expression falls to various derived classes, as implemented by having the base class call an internal abstract method. それ以外の場合、拡張機能はバインドオブジェクト自体を返します。Otherwise, the extension returns the binding object itself. バインディング自体を返すと、型の不一致エラーが発生しますが、通常の状況では発生しません。Returning the binding itself results in a type mismatch error, but this should not occur under normal circumstances.

重要

このメソッドに実装されているとしてのバインディングの構文は、 XAMLXAML 内部オーバーライドの実装に依存し BindingBase.ProvideValue ます。また、それ自体がシールされているため、から派生するカスタムバインドクラスは、 BindingBase XAMLXAML マークアップ拡張機能として正しく機能しません。Because the syntax for binding through XAMLXAML as implemented in this method relies on implementing an internal override, and because BindingBase.ProvideValue itself is sealed, a custom binding class that derives from BindingBase will not function correctly as a XAMLXAML markup extension.

適用対象