IProvideValueTarget 인터페이스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
태그 확장 평가를 위한 상황별 개체 속성 관계를 보고하는 서비스를 나타냅니다.
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 작동 최소한 구현 하는 태그 확장과 형식 변환기 사용에 대 한 사용자 고유의 서비스 공급자를 정의 해야 합니다 IProvideValueTarget 및 IXamlTypeResolver 서비스 및 고급 즉 여기에 설명 되어 있지 않은 시나리오입니다.
에 null 값 TargetProperty 또는 TargetObject 반드시는 태그 확장 또는 형식 변환기를 작동할 수 없습니다, 구현에 따라 다르지만입니다. 예제 값 IProvideValueTarget null 서비스를 사용할 수는 경우 태그 확장 내에 중첩 되어, 다른 태그 확장과 같은 Binding합니다. 사용 하는 구현을 IProvideValueTarget 하나만 경우 특정 예외를 throw 의도 한 디자인을 이면 null 값을 항상 확인 해야 합니다.
속성
TargetObject |
보고되는 대상 개체를 가져옵니다. |
TargetProperty |
보고될 대상 속성에 대한 식별자를 가져옵니다. |
적용 대상
추가 정보
.NET