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
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)]
public sealed class AmbientAttribute : Attribute
type AmbientAttribute = class
    inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method | System.AttributeTargets.Property, Inherited=true)>]
type AmbientAttribute = class
    inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Property, Inherited=true)>]
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 을 CLR 메서드에 적용 하 여 XAML 연결 가능 속성의 특성을 앰비언트로 지정할 수도 있습니다.AmbientAttribute can also be applied to a CLR method, to support attributing a XAML attachable property as ambient. CLR 구현에서 및 메서드를 사용 하 여 XAML 연결 된 속성을 접근자 패턴으로 구현/표시 하기 때문에이 작업이 필요할 수 있습니다 get set .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 속성이 없기 때문에에 대 한 사용을 제한 하면 연결 AttributeTargets Property 가능한 멤버를 앰비언트로 지정할 수 없습니다.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. 대신, 값 변환기는 IAmbientProvider 호출 될 때 해당 서비스 컨텍스트를 값 변환기 메서드에 전달 하는 XAML 작성기 처리 동작을 사용 해야 합니다.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

  • ()의 속성 StyleTargetType 값의 속성 이름에 대 한 지원 참조를 찾는 데 필요한 필수 속성 이름 조회를 한정할 수 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)

적용 대상

추가 정보