IXamlNameResolver 인터페이스

정의

XAML 이름으로 지정된 개체를 반환하거나 이름 확인을 지연시키는 토큰을 반환하는 서비스를 설명합니다.Describes a service that can return objects that are specified by XAML name, or alternatively, returns a token that defers name resolution. 이 서비스는 XAML 네임스페이스에 있는 모든 명명된 개체의 열거 가능한 집합을 반환할 수도 있습니다.The service can also return an enumerable set of all named objects that are in the XAML namescope.

public interface class IXamlNameResolver
public interface IXamlNameResolver
type IXamlNameResolver = interface
Public Interface IXamlNameResolver

설명

이 인터페이스는 서비스 이므로 없습니다 외부 일반적인 XAML 시나리오 구현을 위한 것입니다.This interface is not intended for external implementation of typical XAML scenarios because it is a service. 이 서비스에는 태그 확장 및 형식 변환기를 XAML 노드 표현에는 동일한 XAML 소스 다른 개체에 XAML 이름을 확인할 수 있습니다.This service enables markup extensions and type converters to resolve XAML names to other objects from the same XAML source while they are still in a XAML node representation. 주변 XAML 프로덕션에 대 한 비선형 액세스에 대 한 XAML 이름에 의존 하는 메커니즘에 대 한 정방향 참조를 확인 하는 서비스를 사용할 수 있습니다.The service can be used to resolve forward references for any mechanism that relies on XAML names for nonlinear access to the surrounding XAML production. 자세한 내용은 Type Converters and Markup Extensions for XAML합니다.For more information, see Type Converters and Markup Extensions for XAML.

형식 변환기 및 태그 확장에 대 한 쿼리 수 IXamlNameResolver XAML 개체 작성기 값 변환 동작을 호출 하는 경우는 XAML 개체 작성기에서 제공 되는 서비스 컨텍스트에서 서비스입니다.Type converters and markup extensions can query for IXamlNameResolver as a service on the service context that is provided by a XAML object writer, when the XAML object writer invokes value conversion behavior. 자세한 내용은 Type Converters and Markup Extensions for XAML 하 고 Service Contexts Available to Type Converters and Markup Extensions합니다.For more information, see Type Converters and Markup Extensions for XAML and Service Contexts Available to Type Converters and Markup Extensions.

이 서비스는 이름 확인을 연기할 수 있는 API를 노출 합니다.This service exposes an API that can defer name resolution. 서비스에서 구현한 비유 부분 이름-개체 그래프에 대 한 첫 번째 전달에서 확인할 수 없는 이름 저장 및 픽스업 토큰을 만드는 데는 경우The metaphor implemented by the service is that names that cannot be resolved in a first pass against a partial name-object graph should be stored and used to create the fixup token. 기본 동작을에서 두 번째 패스에서 다른 해결 시도 대 한 이러한 모든 이름은 전송 됩니다.In the default behavior, all such names are submitted for another resolution attempt on a second pass. 두 번째 패스를 전체 이름-개체 그래프 완료 되며 모든 수정 토큰 해결할 수 있습니다.On the second pass, the overall name-object graph is complete, and all the fixup tokens are able to resolve.

참고

특정 구현에 의해 허용 되는 경우에 XAML에서 전방 참조는 필연적으로 성능 결과가 발생 합니다.Even if they are permitted by a particular implementation, forward references in XAML inevitably have performance consequences. 프로덕션 품질 XAML에 대 한 모범 사례로, 가능 하면 전방 참조 하지 마세요.As a best practice for production-quality XAML, avoid forward references whenever possible.

속성

IsFixupTokenAvailable

전방 확인을 위해 GetFixupToken(IEnumerable<String>, Boolean)을 호출하여 토큰 내에서 이름을 확인하는 것이 가능한지 여부를 결정하는 값을 가져옵니다.Gets a value that determines whether calling GetFixupToken(IEnumerable<String>, Boolean) is available in order to resolve a name into a token for forward resolution.

메서드

GetAllNamesAndValuesInScope()

XAML 네임스페이스에 있는 모든 명명된 개체의 열거 가능한 집합을 반환합니다.Returns an enumerable set of all named objects in the XAML namescope.

GetFixupToken(IEnumerable<String>)

전방 참조를 생성하는 특정 태그 패턴에 맞을 수 있는 개체를 반환합니다.Returns an object that can correct for certain markup patterns that produce forward references.

GetFixupToken(IEnumerable<String>, Boolean)

전방 참조를 생성하는 특정 태그 패턴에 맞을 수 있는 개체를 반환합니다.Returns an object that can correct for certain markup patterns that produce forward references.

Resolve(String)

이름 참조에서 개체를 확인합니다.Resolves an object from a name reference.

Resolve(String, Boolean)

이름 참조에서 개체를 확인하고, 개체가 개체 그래프 목적을 위해 완전히 초기화되었는지 여부를 보고하는 추적 값을 제공합니다.Resolves an object from a name reference, and provides a tracking value that reports whether the object is fully initialized for object graph purposes.

이벤트

OnNameScopeInitializationComplete

XAML 프로세서가 지원 XAML 네임스페이스에 모든 관련 이름을 등록했을 때 발생합니다.Occurs when a XAML processor has registered all the relevant names to the backing XAML namescope.

적용 대상

추가 정보