BindingBase.ProvideValue(IServiceProvider) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
このバインディングおよび拡張機能の適用先のプロパティに設定されるオブジェクトを返します。
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
でもかまいません。
戻り値
バインディング ターゲット プロパティに設定する値。
注釈
この実装では、提供されているすべての実用的な派生クラス (Binding、 PriorityBindingおよび MultiBinding) に対して、Extensible Application Markup Language (XAML) を使用したバインドに対する基本構文のサポートが提供されます。
このメソッドのクラス実装は BindingBase 、バインディングの結果である式オブジェクトを返す必要があります。 プロパティのバインドは、特定DependencyPropertyDependencyObjectのオブジェクトを対象とすることで機能します。 これら 2 つの情報は、WPF XAML リーダーがバインディングの解析中にserviceProvider
使用できる実装を照会IProvideValueTargetすることによって送信されます。 この基底クラスの実装は、有効DependencyPropertyDependencyObjectなと . これらが見つかった場合、バインディング式を返す実際の実装は、基底クラスが内部抽象メソッドを呼び出すことによって実装されるさまざまな派生クラスに当たります。 それ以外の場合、拡張機能はバインディング オブジェクト自体を返します。 バインディング自体を返した場合、型の不一致エラーが発生しますが、通常の状況では発生しません。
重要
このメソッドで実装されている XAML によるバインドの構文は内部オーバーライドの実装に依存するため、またそれ自体がシールされているため BindingBase.ProvideValue 、派生元 BindingBase のカスタム バインド クラスは XAML マークアップ拡張として正しく機能しません。