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.

설명

이 구현에서는 제공 되는 모든 실용적인 파생 클래스 ( Binding , 및)에 대 한 Extensible Application Markup Language (XAML)을 통해 바인딩할 수 있는 기본 구문을 지원 합니다 PriorityBinding MultiBinding .This implementation provides the base syntax support for binding through 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. 이러한 두 가지 정보는에 대 한 구현을 쿼리 하 여 전송 되며 IProvideValueTarget serviceProvider ,이를 통해 바인딩을 구문 분석 하는 동안 WPF XAML 판독기를 사용할 수 있습니다.These two pieces of information are transmitted by querying for an IProvideValueTarget implementation on the serviceProvider, which the WPF XAML 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.

중요

이 메서드에서 구현 되는 XAML을 통해 바인딩하기 위한 구문은 내부 재정의를 구현 하는 데 의존 하므로 BindingBase.ProvideValue 자체는 sealed 이기 때문에에서 파생 되는 사용자 지정 바인딩 클래스가 BindingBase XAML 태그 확장으로 제대로 작동 하지 않습니다.Because the syntax for binding through XAML 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 XAML markup extension.

적용 대상