다음을 통해 공유


IProvideValueTarget 인터페이스

정의

태그 확장 평가를 위한 상황별 개체 속성 관계를 보고하는 서비스를 나타냅니다.

public interface class IProvideValueTarget
public interface IProvideValueTarget
type IProvideValueTarget = interface
Public Interface IProvideValueTarget

설명

IProvideValueTarget 값 변환기가 호출 하는 관련 개체 속성 구조에 대 한 정보를 보고 하는 서비스를 나타냅니다.

형식 변환기 및 태그 확장에 대 한 쿼리 수 IProvideValueTarget XAML 개체 작성기 값 변환 동작을 호출 하는 경우는 XAML 개체 작성기에서 제공 되는 서비스 컨텍스트에서 서비스입니다. 자세한 내용은 Type Converters and Markup Extensions for XAML 하 고 Service Contexts Available to Type Converters and Markup Extensions합니다.

태그 확장에 대 한 시나리오에 특히, 여기서 IProvideValueTarget 유용 태그 확장의 상황에 따른 사용의 유효성을 확인 하는 것입니다. 예를 들어 태그 확장 값 지연 메커니즘을 구현할 수 있습니다 있지만 메커니즘을 사용 하 여 대상 개체는 런타임 시 지연 메커니즘의 다른 구성 요소를 사용할 수 있는 경우 적절 한 수만 합니다. 로 반환 되는 개체의 형식 시스템 특성을 확인할 수 있습니다 TargetObject 개체 지연 방법을 지원 하는지 확인 하십시오. 태그 확장 값을 반환 그렇다면 및 태그 확장에는 픽업을 내부 예외로 XAML 개체 기록기에 의해 예외가 throw 그렇지 않은 경우. 비슷한 시나리오는 특정 속성의 형식 시스템 특성을 확인 하 여 기능을 지원함을 보장 합니다 TargetProperty합니다.

하지만 API 이름 IProvideValueTarget 묵시적으로 될 수 있습니다 MarkupExtension.ProvideValue에서 정보를 보고 IProvideValueTarget 유용할 수도 있습니다는 TypeConverter 또는 ValueSerializer합니다. A TypeConverter 또는 ValueSerializer 일반적으로 태그 확장을 보다 더 많은 컨텍스트를 특정 대상 또는 대상 속성에 전용 때문에 있고 따라서 상황 유효성 형식 시스템에서 일반적으로 예측할 수 있습니다. 그러나 다른 시나리오는 없습니다. 다음은 형식 변환기 또는 태그 확장으로 구현 될 수 있는 몇 가지 시나리오 목록입니다.

  • 가져올 TargetObject 개체의 다른 속성의 인스턴스 값을 읽습니다. 여기에 처리 해야 할 수 있는 대상 개체의 XAML 멤버의 처리 순서는 비결 정적 수 있기 때문에 설정 되지 않은 값에 대 한 강력한 수 참고 합니다.

  • 가져올 TargetObject 형식 수준의 메타 데이터를 읽을 또는 형식에서 필요한 인터페이스는 구현 되었는지 확인 합니다.

  • 가져올 TargetProperty 속성 메타 데이터를 읽을 수 있습니다.

시나리오 중 하나를 사용 하는 IProvideValueTarget 정보 태그 확장에 의해 설정 하는 것이 수는 어떤 개체 또는 속성을 제한할 수 있습니다.

서비스를 사용 하기 전에 아닌지 확인 하는 서비스 자체 null 관련 서비스 공급자 매개 변수에서 반환 될 때 사용 하는 컨텍스트.

중요

이 특히 참조 하는 개체를 수정할 수 없도록 서비스를 사용 하는 경우는 TargetObject 속성 또는 해당 개체에서 참조 하는 다른 개체입니다. 특히 WPF에 대 한 이러한 변경 내용은 WPF 속성 시스템을 무효화 하는 예기치 않은 변경 사항이 발생할 수 있습니다.

참고

형식을 사용 하지 마세요 TargetProperty 정확한 태그 확장 또는 형식 변환기 유형을 확인 하려면 반환 해야 합니다. 가장 좋은 방법은 아닙니다. 반환 형식 특성와 일치 해야 합니다. (MarkupExtensionReturnTypeAttribute 태그 확장에 대 한) 또는 패턴 (형식 변환기의 클래스 이름).

.NET Framework의 이전 버전에서는이 인터페이스는 WPF 관련 WindowsBase 어셈블리에 존재합니다. .NET Framework 4 IProvideValueTarget 에서 는 System.Xaml 어셈블리에 있습니다. 자세한 내용은 Types Migrated from WPF to System.Xaml을 참조하세요.

WPF 사용 정보

이 서비스는 종속성 속성에 바인딩 같은 프레임 워크 기능을 지원합니다.

Wpf에서 표현 된 서비스가 IProvideValueTarget 개체 및 경우에는 태그 확장 또는 형식 변환기에서 반환할 값을 컨텍스트에 의존 하는 위치에 대 한 속성을 반환할 수 있습니다.

IProvideValueTarget 내부 구현에 많이 활용 됩니다 BindingBase, wpf에서 종속성 속성에 대 한 바인딩 메커니즘을 구현 하는 클래스입니다.

WPF 구현에 대 한 기본 내부 서비스 공급자 IProvideValueTarget 사용자 지정 태그 확장 또는 형식 변환기로 사용 합니다. 개체 및 속성을 보고 IProvideValueTarget 내부 WPF 서비스에서 설정할 수 있습니다. 방식의이 정의 넘어 IProvideValueTarget 작동 최소한 구현 하는 태그 확장과 형식 변환기 사용에 대 한 사용자 고유의 서비스 공급자를 정의 해야 합니다 IProvideValueTargetIXamlTypeResolver 서비스 및 고급 즉 여기에 설명 되어 있지 않은 시나리오입니다.

에 null 값 TargetProperty 또는 TargetObject 반드시는 태그 확장 또는 형식 변환기를 작동할 수 없습니다, 구현에 따라 다르지만입니다. 예제 값 IProvideValueTarget null 서비스를 사용할 수는 경우 태그 확장 내에 중첩 되어, 다른 태그 확장과 같은 Binding합니다. 사용 하는 구현을 IProvideValueTarget 하나만 경우 특정 예외를 throw 의도 한 디자인을 이면 null 값을 항상 확인 해야 합니다.

속성

TargetObject

보고되는 대상 개체를 가져옵니다.

TargetProperty

보고될 대상 속성에 대한 식별자를 가져옵니다.

적용 대상

추가 정보