AmbientAttribute 클래스

정의

속성이나 형식을 앰비언트로 처리하도록 지정합니다. 앰비언트 개념은 XAML 프로세서가 멤버의 형식 소유자를 결정하는 방법과 관련됩니다.

public ref class AmbientAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Property, Inherited=true)]
public sealed class AmbientAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method | System.AttributeTargets.Property, Inherited=true)]
public sealed class AmbientAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Property, Inherited=true)>]
type AmbientAttribute = class
    inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method | System.AttributeTargets.Property, Inherited=true)>]
type AmbientAttribute = class
    inherit Attribute
Public NotInheritable Class AmbientAttribute
Inherits Attribute
상속
AmbientAttribute
특성

설명

앰비언트 속성은 개체 그래프를 만들 때 파서 컨텍스트에서 값을 사용할 수 있어야 하지만 생성되는 즉시 XAML 노드 집합을 위해 일반적인 형식 멤버 조회가 일시 중단되는 속성입니다. 앰비언트 개념에는 두 가지 기본 시나리오가 있습니다.

  • 동일한 개체의 일부 다른 속성은 해당 개체 속성 조회가 작동하는 방식에 영향을 미치고 자격을 줍니다.

  • 속성은 더 큰 지연 메커니즘을 나타내며 멤버 값을 조회하기 위한 앰비언트 기능은 현재 개체 내에 포함된 모든 개체로 확장됩니다.

이 특성은 앰비언트 속성 조회 동작을 사용하도록 설정하는 예상 컨테이너가 있는 특정 속성에 적용하거나 클래스에 적용하여 속성에 대해 해당 값 형식의 모든 경우에 앰비언트 속성 동작을 사용하도록 설정할 수 있습니다.

AmbientAttribute 또한 CLR 메서드에 적용하여 XAML 연결 가능 속성을 앰비언트로 특성을 지정할 수 있습니다. 이는 CLR 구현에서 XAML 연결 속성이 및 set 메서드를 사용하여 접근자 패턴 get 으로 리플렉션에 구현/표현되기 때문에 잠재적으로 필요합니다. 특성에 대한 실제 CLR 속성이 없으므로 에 대한 AttributeTargetsProperty 사용을 제한하면 연결 가능한 멤버를 앰비언트로 지정할 수 없습니다. 앰비언트로 보고하려는 연결 가능한 멤버의 경우 접근자의 특성을 지정 get 합니다. 연결 가능한 멤버의 메서드를 구체적으로 지원하지 않는 메서드를 특성화하려고 시도해서는 안 됩니다.

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

앰비언트 형식(형식 수준에서 적용되는 형식 AmbientAttribute )은 속성의 형식을 순서대로 확인해야 하는 특정 XAML 처리 상황에 사용할 수 있습니다.

개체 작성기 시나리오

XAML 개체 작성기를 정의하고 가 적용되는 속성, 메서드 또는 형식이 AmbientAttribute 발생하는 경우 일반적으로 서비스에 액세스하여 개체를 작성하는 데 필요한 의도된 앰비언트 속성 조회 동작을 결정해야 합니다. 자세한 내용은 IAmbientProvider를 참조하세요.

값 변환기

형식 변환기 또는 태그 확장은 정규화 여부에 관계없이 문자열 이름으로 멤버 또는 형식을 지정하는 속성과 같이 간접 형식 매핑을 나타내는 속성을 처리하기 위해 앰비언트 정보를 알아야 할 수 있습니다. 이 시나리오 AmbientAttribute 에서는 가 값 변환기 코드 논리에 직접 사용되지 않습니다. 대신 값 변환기는 호출될 때 해당 서비스 컨텍스트를 값 변환기 메서드에 전달하는 IAmbientProvider XAML 기록기 처리 동작을 사용해야 합니다.

AmbientAttribute에 대한 WPF 시나리오

  • (TargetType)의 Style 속성은 값에서 속성 이름에 대한 지원 참조를 찾는 데 필요한 속성 이름 Setter.Property 조회를 한정할 수 있습니다.

  • 속성 내의 모든 콘텐츠 Resources (의 ResourceDictionary항목) 및 템플릿 콘텐츠는 다른 피어에 값으로 액세스할 수 있어야 합니다. 전체 Resources 속성을 앰비언트로 선언하면 WPF XAML 파서에서 이를 사용하도록 설정하는 논리가 호출됩니다.

형식 수준에서 설정하는 AmbientAttribute 시나리오의 예제는 를 참조하세요ResourceDictionary.

생성자

AmbientAttribute()

AmbientAttribute 클래스의 새 인스턴스를 초기화합니다.

속성

TypeId

파생 클래스에서 구현된 경우 이 Attribute에 대한 고유 식별자를 가져옵니다.

(다음에서 상속됨 Attribute)

메서드

Equals(Object)

이 인스턴스가 지정된 개체와 같은지를 나타내는 값을 반환합니다.

(다음에서 상속됨 Attribute)
GetHashCode()

이 인스턴스의 해시 코드를 반환합니다.

(다음에서 상속됨 Attribute)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
IsDefaultAttribute()

파생 클래스에서 재정의된 경우 이 인스턴스 값이 파생 클래스에 대한 기본값인지 여부를 표시합니다.

(다음에서 상속됨 Attribute)
Match(Object)

파생 클래스에서 재정의된 경우 이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다.

(다음에서 상속됨 Attribute)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

이름 집합을 해당하는 디스패치 식별자 집합에 매핑합니다.

(다음에서 상속됨 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

인터페이스의 형식 정보를 가져오는 데 사용할 수 있는 개체의 형식 정보를 검색합니다.

(다음에서 상속됨 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

개체에서 제공하는 형식 정보 인터페이스의 수를 검색합니다(0 또는 1).

(다음에서 상속됨 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

개체에서 노출하는 메서드와 속성에 대한 액세스를 제공합니다.

(다음에서 상속됨 Attribute)

적용 대상

추가 정보