다음을 통해 공유


x:Array 태그 확장

태그 확장을 통해 XAML의 개체 배열에 대한 일반적인 지원을 제공합니다. 이는 [MS-XAML]의 x:ArrayExtension XAML 형식에 해당합니다.

XAML 개체 요소 사용

<x:Array Type="typeName">
  arrayContents
</x:Array>

XAML 값

묘사
typeName x:Array 포함할 형식의 이름입니다. typeName XAML 형식 정의를 포함하는 XAML 네임스페이스의 접두사일 수 있습니다(종종 접두사).
arrayContents 내장 ArrayExtension.Items 속성에 할당된 항목 콘텐츠입니다. 일반적으로 이러한 항목은 x:Array 여는 태그 및 닫는 태그에 포함된 하나 이상의 개체 요소로 지정됩니다. 여기에 지정된 개체는 typeName지정된 XAML 형식에 할당할 수 있어야 합니다.

발언

Type 모든 x:Array 개체 요소에 필요한 특성입니다. Type 매개 변수 값은 x:Type 태그 확장을 사용할 필요가 없습니다. 형식의 짧은 이름은 문자열로 지정할 수 있는 XAML 형식입니다.

.NET XAML Services 구현에서 입력 XAML 형식과 생성된 배열의 출력 CLR Type 간의 관계는 태그 확장에 대한 서비스 컨텍스트의 영향을 받습니다. 출력 Type XAML 스키마 컨텍스트 및 컨텍스트에서 제공하는 IXamlTypeResolver 서비스를 기반으로 필요한 XamlType 조회한 후 입력 XAML 형식의 UnderlyingType.

처리되면 배열 내용이 ArrayExtension.Items 내장 속성에 할당됩니다. ArrayExtension 구현에서는 ArrayExtension.Items표시됩니다.

.NET XAML Services 구현에서 이 태그 확장에 대한 처리는 ArrayExtension 클래스에 의해 정의됩니다. ArrayExtension 봉인되지 않으며 사용자 지정 배열 형식에 대한 태그 확장 구현의 기초로 사용할 수 있습니다.

x:Array XAML의 일반 언어 확장성을 위한 것입니다. 그러나 x:Array XAML 지원 컬렉션을 구조화된 속성 콘텐츠로 사용하는 특정 속성의 XAML 값을 지정하는 데 유용할 수도 있습니다. 예를 들어 x:Array 사용량을 사용하여 IEnumerable 속성의 내용을 지정할 수 있습니다.

x:Array 태그 확장입니다. 태그 확장은 일반적으로 특성 값을 리터럴 값이나 처리기 이름이 아닌 다른 값으로 이스케이프해야 하는 경우에 구현되며, 요구 사항은 특정 형식 또는 속성에 형식 변환기를 배치하는 것보다 전역적입니다. x:Array 대체 특성 값 처리를 제공하는 대신 내부 텍스트 콘텐츠의 대체 처리를 제공하기 때문에 x:Array 해당 규칙의 일부 예외입니다. 이 동작을 사용하면 기존 콘텐츠 모델에서 지원하지 않을 수 있는 형식을 배열로 그룹화하고 나중에 코드 숨김에서 명명된 배열에 액세스하여 참조할 수 있습니다. Array 메서드를 호출하여 개별 배열 항목을 가져올 수 있습니다.

XAML의 모든 태그 확장은 특성 구문에서 중괄호({,})를 사용합니다. 이 규칙은 XAML 프로세서가 태그 확장에서 특성 값을 처리해야 한다는 것을 인식하는 규칙입니다. 일반적인 태그 확장에 대한 자세한 내용은 XAML대한 형식 변환기 및 태그 확장을 참조하세요.

XAML 2009에서 x:Array 태그 확장 대신 언어 기본 형식으로 정의됩니다. 자세한 내용은 공통 XAML 언어 기본 형식대한 기본 제공 형식을 참조하세요.

WPF 사용 현황 정보

일반적으로 x:Array 채우는 개체 요소는 WPF XAML 네임스페이스에 있는 요소가 아니며 기본이 아닌 XAML 네임스페이스에 대한 접두사 매핑이 필요합니다.

예를 들어 다음은 sys 접두사(및 x)가 배열 수준에서 정의된 두 문자열의 간단한 배열입니다.

<x:Array Type="sys:String"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:sys="clr-namespace:System;assembly=mscorlib">
  <sys:String>Hello</sys:String>
  <sys:String>World</sys:String>
</x:Array>

배열 요소로 사용되는 사용자 지정 형식의 경우 클래스는 XAML에서 개체 요소로 인스턴스화하기 위한 요구 사항도 지원해야 합니다. 자세한 내용은 WPF대한 XAML 및 사용자 지정 클래스를 참조하세요.

참고 항목