x:Type 태그 확장

Type지정된 XAML 형식의 기본 형식인 CLR 개체를 제공합니다.

XAML 특성 사용

<object property="{x:Type prefix:typeNameValue}" .../>

XAML 개체 요소 사용

<x:Type TypeName="prefix:typeNameValue"/>

XAML 값

설명
prefix 선택 사항입니다. 기본이 아닌 XAML 네임스페이스를 매핑하는 접두사입니다. 접두사 지정이 필요하지 않은 경우가 많습니다. 설명 부분을 참조하세요.
typeNameValue 필수 요소. 현재 기본 XAML 네임스페이스로 확인할 수 있는 형식 이름입니다. 또는 가 제공된 경우 지정된 prefix 매핑된 접두사입니다.

설명

x:Type태그 확장에는 typeof() C#의 연산자 또는 Microsoft Visual Basic 연산자와 유사한 함수가 GetType 있습니다.

x:Type태그 확장은 형식을 갖는 속성에 대해 문자열에서 변환 동작을 Type 제공합니다. 입력이 XAML 형식입니다. 입력 XAML 형식과 출력 CLR 간의 관계는 Type Type UnderlyingType XamlType XamlType XAML 스키마 컨텍스트 및 컨텍스트에서 제공하는 서비스에 따라 필요한 를 찾은 후 출력이 입력 의 IXamlTypeResolver 입니다.

.NET XAML 서비스에서 이 태그 확장에 대한 처리는 클래스에 의해 TypeExtension 정의됩니다.

특정 프레임워크 구현에서 를 값으로 사용할 일부 속성은 Type 형식의 이름(형식의 문자열 값)을 직접 수락할 수 Name 있습니다. 그러나 이 동작을 구현하는 것은 복잡한 시나리오입니다. 예제를 보려면 다음 "WPF 사용 정보" 섹션을 참조하세요.

특성 구문은 이러한 태그 확장에 가장 많이 사용되는 구문입니다. x:Type 식별자 문자열 다음에 나오는 문자열 토큰은 기본 TypeName 확장명 클래스의 TypeExtension 값으로 할당됩니다. CLR 형식을 기반으로 하는 .NET XAML 서비스의 기본 XAML 스키마 컨텍스트에서 이 특성의 값은 Name 원하는 형식의 이거나 기본이 아닌 Name XAML 네임스페이스 매핑에 대한 접두사 앞에 오는 을 포함합니다.

x:Type태그 확장은 개체 요소 구문에서 사용할 수 있습니다. 이 경우 TypeName 확장을 제대로 초기화하려면 속성 값을 지정해야 합니다.

x:Type태그 확장은 자세한 특성으로 사용할 수도 있습니다. 그러나 이 사용은 일반적이지 않습니다.<object property="{x:Type TypeName=typeNameValue}" .../>

WPF 사용 정보

기본 XAML 네임스페이스 및 형식 매핑

WPF 프로그래밍의 기본 XAML 네임스페이스에는 일반적인 XAML 시나리오에 필요한 대부분의 XAML 형식이 포함되어 있습니다. 따라서 XAML 형식 값을 참조할 때 접두사 를 사용하지 않는 경우가 많습니다. 사용자 지정 어셈블리에서 형식을 참조하거나 WPF 어셈블리에 있지만 기본 XAML 네임스페이스에 매핑되지 않은 CLR 네임스페이스에 있는 형식의 경우 접두사에 매핑해야 할 수 있습니다. 접두사, XAML 네임스페이스 및 CLR 네임스페이스 매핑에 대한 자세한 내용은 WPF XAML에 대한 XAML 네임스페이스 및 네임스페이스 매핑을참조하세요.

Typename-as-String을 지원하는 형식 속성

WPF는 태그 확장을 사용할 필요 없이 형식의 일부 속성 값을 지정할 수 있는 기술을 Type x:Type 지원합니다. 대신 형식 이름을 지정하는 문자열로 값을 지정할 수 있습니다. 이 예제는 ControlTemplate.TargetTypeStyle.TargetType 입니다. 이 동작에 대한 지원은 형식 변환기 또는 태그 확장을 통해 제공되지 않습니다. 대신 를 통해 구현되는 지연 FrameworkElementFactory 동작입니다.

Silverlight는 유사한 규칙을 지원합니다. 실제로 Silverlight는 현재 {x:Type} XAML 언어 지원을 지원하지 않으며 WPF-Silverlight {x:Type} XAML 마이그레이션을 지원하기 위한 몇 가지 상황 외에는 사용을 허용하지 않습니다. 따라서 typename-as-string 동작은 가 값인 모든 Silverlight 네이티브 속성 평가에 기본 Type 제공됩니다.

XAML 2009

XAML 2009는 제네릭 형식에 대한 추가 지원을 제공하고 및 의 기능 동작을 x:TypeArguments x:Type 수정하여 이 지원을 제공합니다.

  • x:TypeArguments 및 제네릭 개체 인스턴스화에 대한 연결된 개체 요소는 루트 이외의 요소에 있을 수 있습니다. 자세한 내용은 x:TypeArguments 지시문의 "XAML 2009" 섹션을 참조하세요.

  • XAML 2009는 태그에서 제네릭 형식의 제약 조건을 지정하는 구문을 지원합니다. 이 기능은 , 또는 두 기능을 조합하여 사용할 수 x:TypeArguments x:Type 있습니다.

  • 또한 로드에 대해 XAML 2009를 처리할 때 WPF XAML 구현은 형식을 사용하는 특정 프레임워크 속성에 대한 암시적 형식 변환 동작에 이 기능을 Type 추가합니다.

WPF에서는 XAML 2009 기능을 사용할 수 있지만 느슨한 XAML(태그 컴파일되지 않은 XAML)에만 사용할 수 있습니다. WPF에 대한 태그로 컴파일된 XAML 및 BAML 형식의 XAML은 현재 XAML 2009 키워드 및 기능을 지원하지 않습니다.

추가 정보