AmbientAttribute 클래스

정의

속성이나 형식을 앰비언트로 처리하도록 지정합니다.Specifies that a property or type should be treated as ambient. 앰비언트 개념은 XAML 프로세서가 멤버의 형식 소유자를 결정하는 방법과 관련됩니다.The ambient concept relates to how XAML processors determine type owners of members.

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

설명

앰비언트 속성 값을 예상 하 하지만 일반적인 형식 멤버 조회가 바로 XAML 노드 집합을 만드는의 목적을 위해 일시 중단 되는 개체 그래프를 만들 때 파서 컨텍스트에서 사용할 수 있는 속성이입니다.An ambient property is a property where the value is expected to be available in the parser context when creating an object graph, but where typical type-member lookup is suspended for purposes of the immediate XAML node set being created. 앰비언트 개념에 대 한 두 가지 주요 시나리오는There are two main scenarios for the ambient concept:

  • 동일한 개체의 다른 일부 속성에 영향을 줍니다 및 해당 개체 속성 조회 해야 방식으로 한정 합니다.Some other property of the same object influences and qualifies how that object-property lookup should work.

  • 속성 크게 지연 메커니즘을 나타내며 현재 개체에 포함 된 모든 개체에 멤버 값을 조회 하는 것에 대 한 앰비언트 기능을 확장 합니다.The property represents a larger deferral mechanism and the ambient capabilities for looking up a member value extend to all objects contained within the current object.

이 특성은 앰비언트 속성 조회 동작을 사용 하도록 설정 하는 컨테이너 예상 하는 특정 속성에 적용할 수 있습니다 또는 속성에 대 한 해당 값 형식의 모든 경우의 앰비언트 속성 동작을 사용 하도록 설정 하는 클래스에 적용할 수 있습니다.This attribute can be applied to specific properties that have expected containers that enable an ambient property lookup behavior, or can be applied to a class to enable the ambient property behavior in all cases of that value type for a property.

AmbientAttribute 앰비언트로 XAML 연결 가능한 속성 특성을 지원 하기 위해 CLR 메서드에 적용할 수 있습니다.AmbientAttribute can also be applied to a CLR method, to support attributing a XAML attachable property as ambient. 이렇게 해야만 잠재적으로 표현 되기 때문에 CLR 구현 된 XAML에서에서 연결 된 속성은 구현/접근자 패턴으로 리플렉션을 getset 메서드.This is potentially necessary because in a CLR implementation a XAML attached property is implemented/represented to reflection as an accessor pattern with get and set methods. 에 대 한 사용량을 제한 하므로 없는 실제 CLR 속성 특성에 있는 AttributeTargetsProperty 는 기능이 활성화 되지 앰비언트로 연결 가능한 멤버를 지정 합니다.No actual CLR property to attribute exists, so restricting usage for AttributeTargets to Property would not have enabled specifying an attachable member as ambient. 앰비언트로 보고 하려는 연결 가능한 멤버, 특성은 get 접근자입니다.For an attachable member that you want to report as ambient, attribute the get accessor. 연결 가능한 멤버 메서드를 특별히 지원 되지 않는 특성 메서드에 하지 않아야 합니다.You should not attempt to attribute methods that are not specifically support methods of attachable members.

.NET Framework의 이전 버전에서는이 클래스는 WPF 관련 WindowsBase 어셈블리에 존재합니다.In previous versions of the .NET Framework, this class existed in the WPF-specific assembly WindowsBase. .NET Framework 4.NET Framework 4, AmbientAttribute System.Xaml 어셈블리에 있습니다.In .NET Framework 4.NET Framework 4, AmbientAttribute is in the System.Xaml assembly. 자세한 내용은 Types Migrated from WPF to System.Xaml을 참조하세요.For more information, see Types Migrated from WPF to System.Xaml.

앰비언트 형식 (위치 형식 AmbientAttribute 형식 수준에서 적용 됩니다) 특정 XAML 처리 해야 하는 경우 여기서 속성의 형식을 확인할 잘못 된 순서에 사용할 수 있습니다.Ambient types (types where AmbientAttribute is applied at type level) can be used for certain XAML processing situations where the type of a property needs to be resolved out of order.

개체 작성기 시나리오Object Writer Scenarios

속성, 메서드 또는 형식에 발생 하는 하 한은 XAML 개체 작성기를 정의 하는 경우 여기서 AmbientAttribute 가 적용 하 고, 일반적으로 액세스 해야 합니다는 개체를 작성 하는 데 필요한 의도 된 앰비언트 속성을 조회 동작을 결정 하는 서비스입니다.If you are defining a XAML object writer, and you encounter a property, method or type where AmbientAttribute is applied, you typically must access a service to determine the intended ambient property lookup behavior that is needed for writing out objects. 자세한 내용은 IAmbientProvider을 참조하세요.For more information, see IAmbientProvider.

값 변환기Value Converters

형식 변환기 또는 태그 확장 멤버 또는 형식 한정자 없이 문자열 이름으로 지정 하는 속성 등의 간접 형식 매핑을 나타내는 속성을 처리 하기 위해 앰비언트 정보를 알아야 할 수 있습니다.Type converters or markup extensions might need to know the ambient information in order to process properties that represent indirect type mappings, such as properties that specify members or types by string names with or without qualification. 이 시나리오에서는 AmbientAttribute 값 변환기 코드 논리에 직접 사용할 수 없습니다.In this scenario, AmbientAttribute is not intended to be used directly for value converter code logic. 값 변환기를 통과 하는 XAML 작성기 처리 동작을 사용 해야 아니라 IAmbientProvider 호출 될 때 값 변환기 메서드를 해당 서비스 컨텍스트에서 합니다.Rather, the value converter should rely on the XAML writer processing behavior, which will pass IAmbientProvider in its service contexts to your value converter methods when called.

AmbientAttribute WPF 시나리오WPF Scenarios for AmbientAttribute

  • 속성을 Style (TargetType)는 속성 이름에 대 한 백업 참조를 찾는 데 필요한 필수 속성 이름을 조회를 한정할 수 Setter.Property 값입니다.A property of a Style (TargetType) can qualify the necessary property name lookups that are needed to find the backing references for property names in Setter.Property values.

  • 내에서 모든 콘텐츠를 Resources 속성 (항목은 ResourceDictionary) 템플릿 콘텐츠 뿐 아니라 해야 값으로 다른 피어에 액세스할 수 있습니다.All content within a Resources property (items of a ResourceDictionary) as well as template content, should be able to access other peers as values. 전체 선언 Resources 앰비언트 속성 WPF XAML 파서에서이 활성화 하는 논리를 호출 합니다.Declaring the entire Resources property as ambient invokes logic that enables this in the WPF XAML parser.

참조 ResourceDictionary 설정에 대 한 시나리오의 예로 AmbientAttribute 형식 수준입니다.See ResourceDictionary for an example of a scenario for setting AmbientAttribute at type level.

생성자

AmbientAttribute()

AmbientAttribute 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the AmbientAttribute class.

속성

TypeId

파생 클래스에서 구현된 경우 이 Attribute에 대한 고유 식별자를 가져옵니다.When implemented in a derived class, gets a unique identifier for this Attribute.

(다음에서 상속됨 Attribute)

메서드

Equals(Object)

이 인스턴스가 지정한 개체와 같은지를 나타내는 값을 반환합니다.Returns a value that indicates whether this instance is equal to a specified object.

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

이 인스턴스의 해시 코드를 반환합니다.Returns the hash code for this instance.

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

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

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

파생 클래스에서 재정의된 경우 이 인스턴스 값이 파생 클래스에 대한 기본값인지 여부를 표시합니다.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

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

파생 클래스에서 재정의된 경우 이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

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

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

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

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

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

이름 집합을 해당하는 디스패치 식별자 집합에 매핑합니다.Maps a set of names to a corresponding set of dispatch identifiers.

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

인터페이스의 형식 정보를 가져오는 데 사용할 수 있는 개체의 형식 정보를 검색합니다.Retrieves the type information for an object, which can be used to get the type information for an interface.

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

개체에서 제공하는 형식 정보 인터페이스의 수를 검색합니다(0 또는 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

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

개체에서 노출하는 메서드와 속성에 대한 액세스를 제공합니다.Provides access to properties and methods exposed by an object.

(다음에서 상속됨 Attribute)

적용 대상

추가 정보