x:TypeArguments 지시문

제네릭 형식의 제약 형식 인수를 제네릭 형식의 생성자에 전달합니다.

XAML 특성 사용

<object x:TypeArguments="typeString" .../>

XAML 값

object CLR 제네릭 형식으로 백업되는 XAML 형식의 개체 요소 선언입니다. 가 object 기본 XAML 네임스페이스에서 온 것이 아닌 XAML 형식을 참조하는 경우 가 object 있는 XAML 네임스페이스를 나타내는 접두사 가 object 필요합니다.
typeString CLR 제네릭 형식에 대한 형식 인수를 제공하는 하나 이상의 XAML 형식 이름을 문자열로 선언하는 문자열입니다. 추가 구문 참고는 주의 를 참조하세요.

설명

대부분의 경우 문자열에서 정보 항목으로 사용되는 XAML 형식에는 typeString 접두사로 묶입니다. 일반적인 형식의 CLR 제네릭 제약 조건(예: Int32String )은 CLR 기본 클래스 라이브러리에서 제공됩니다. 이러한 라이브러리는 일반적인 프레임워크별 기본 XAML 네임스페이스에 매핑되지 않으므로 XAML 사용에 대한 접두사 매핑이 필요합니다.

쉼표 구분 기호를 사용하여 XAML 형식 이름을 두 개 이상 지정할 수 있습니다.

제네릭 제약 조건 자체에서 제네릭 형식을 사용하는 경우 중첩된 제약 조건 형식 인수는 괄호()로 포함될 수 있습니다.

x:TypeArguments 정의는 .NET XAML 서비스 및 CLR 지원 사용과 관련이 있습니다. 언어 수준 정의는 [ MS-XAML ] 섹션 5.3.11에서찾을 수 있습니다.

사용 예제

이러한 예제에서는 다음 XAML 네임스페이스 정의가 선언되었다고 가정합니다.

xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib"

<String> 나열

<scg:List x:TypeArguments="sys:String" ...>형식 인수를 통해 새 List<T> 를 인스턴스화합니다. String

Dictionary<String,String>

<scg:Dictionary x:TypeArguments="sys:String,sys:String" ...>두 개의 형식 인수를 가진 새 를 Dictionary<TKey,TValue> 인스턴스화합니다. String

KeyValuePair 큐<<String,String>>

<scg:Queue x:TypeArguments="scg:KeyValuePair(sys:String,sys:String)" ...>내부 제약 조건 형식 인수 및 를 통해 의 제약 조건이 있는 새 Queue<T> 를 인스턴스화합니다. KeyValuePair<TKey,TValue> String String

XAML 2006 및 WPF 일반 XAML 사용

XAML 2006 사용 및 WPF 애플리케이션에 사용되는 XAML의 경우 x:TypeArguments 일반적으로 XAML의 및 제네릭 형식 사용에 대해 다음과 같은 제한이 있습니다.

  • XAML 파일의 루트 요소만 제네릭 형식을 참조하는 제네릭 XAML 사용을 지원할 수 있습니다.

  • 루트 요소는 하나 이상의 형식 인수를 사용하여 제네릭 형식에 매핑되어야 합니다. 예제는 PageFunction<T>입니다. 페이지 함수는 WPF의 XAML 제네릭 사용 지원에 대한 기본 시나리오입니다.

  • 제네릭에 대한 루트 요소 XAML 개체 요소도 를 사용하여 partial 클래스를 선언해야 x:Class 합니다. WPF 빌드 작업을 정의하는 경우에도 마찬가지입니다.

  • x:TypeArguments 는 중첩된 제네릭 제약 조건을 참조할 수 없습니다.

WPF 3.0 또는 WPF 3.5 종속성이 없는 XAML 2009 또는 XAML 2006

XAML 2006 또는 XAML 2009용 .NET XAML 서비스에서는 일반 XAML 사용에 대한 WPF 관련 제한이 완화됩니다. 지원 형식 시스템 및 개체 모델이 지원할 수 있는 XAML 태그의 모든 위치에서 제네릭 개체 요소를 인스턴스화할 수 있습니다.

CLR 기본 형식을 매핑하여 공용 언어 기본 형식에 대한 XAML 형식을 가져오는 대신 XAML 2009를 사용하는 경우 공용 XAML 언어 기본 형식에 대한 기본 제공 형식을 의 정보 항목으로 사용할 수 typeString 있습니다. 예를 들어 다음을 선언할 수 있습니다(접두사 매핑은 표시되지 않지만 x는 XAML 2009용 XAML 언어 XAML 네임스페이스임).

<my:BusinessObject x:TypeArguments="x:String,x:Int32"/>

WPF 및 .NET Framework 4 또는 .NET Core 3.0(이상)을 대상으로 하는 경우 와 함께 XAML 2009 기능을 사용할 수 x:TypeArguments 있지만 느슨한 XAML(태그 컴파일되지 않은 XAML)에만 사용할 수 있습니다. WPF에 대한 태그로 컴파일된 XAML 및 BAML 형식의 XAML은 현재 XAML 2009 키워드 및 기능을 지원하지 않습니다. XAML을 태그 컴파일해야 하는 경우 XAML 2006 및 WPF 일반 XAML 사용 섹션에 명시된 제한에 따라 작동해야 합니다. BAML은 .NET Framework만 지원됩니다.

추가 정보