공용 XAML 언어 기본 형식에 대한 기본 제공 형식
XAML 2009에서는 CLR(공용 언어 런타임) 및 기타 프로그래밍 언어에서 자주 사용되는 기본 형식인 여러 데이터 형식에 대한 XAML 언어 수준 지원이 도입되었습니다. XAML 2009에는 x:Object, x:Boolean, x:Char, x:String, x:Decimal, x:Single, x:Double, x:Int16, x:Int32, x:Int64, x:TimeSpan, x:Uri, x:Byte 및 x:Array 기본 형식에 대한 지원이 추가되었습니다.
이 항목에는 다음 단원이 포함되어 있습니다.
- XAML 태그의 언어 기본 형식에 대한 이전 기술
- XAML 2009 언어 기본 형식
- WPF 지원
XAML 태그의 언어 기본 형식에 대한 이전 기술
이전 WPF 버전의 XAML에서는 .NET Framework에 대한 CLR 기본 형식 정의 클래스를 포함한 어셈블리 및 네임스페이스를 매핑하여 CLR 언어 기본 형식을 참조할 수 있었습니다. 이러한 기본 형식은 대부분 mscorlib 어셈블리 및 System 네임스페이스에 있습니다. 예를 들어 Int32를 사용하려면 다음 매핑을 뒤에 나오는 사용 예제와 함께 선언할 수 있습니다.
<Application xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
<Application.Resources>
<sys:Int32 x:Key="intMeaning">42</sys:Int32>
</Application.Resources>
</Application>
XAML 2009 언어 기본 형식
규칙에 따라 XAML에 대한 언어 기본 형식 및 다른 모든 XAML 언어 요소는 x: 접두사를 포함하여 표시됩니다. 이는 XAML 언어 요소가 실제 태그에서 일반적으로 사용되는 방법입니다. WPF의 XAML에 대한 개념 설명서뿐만 아니라 XAML 사양에서도 이 규칙을 따릅니다.
x:Object
CLR 지원의 경우 x:Object 기본 형식은 Object에 해당합니다.
이 기본 형식은 일반적으로 응용 프로그램 태그에서 사용되지만 XAML 형식 시스템에서 할당 가능성을 검사하는 등의 일부 시나리오에 유용할 수 있습니다.
x:Boolean
CLR 지원의 경우 x:Boolean 기본 형식은 Boolean에 해당합니다.
XAML은 x:Boolean에 대한 값을 대/소문자를 구분하지 않고 구문 분석합니다. x:Bool을 대신 사용할 수 없습니다. XAML 언어 사양 정의는 [MS-XAML] 섹션 5.2.17 및 5.4.11을 참조하십시오.
x:Char
CLR 지원의 경우 x:Char 기본 형식은 Char에 해당합니다.
String 및 char 형식에는 XML 수준에서 파일의 전체 인코딩과의 상호 작용이 있습니다. XAML 언어 사양 정의는 [MS-XAML] 섹션 5.2.7 및 5.4.1을 참조하십시오.
x:String
CLR 지원의 경우 x:String 기본 형식은 String에 해당합니다.
String 및 char 형식에는 XML 수준에서 파일의 전체 인코딩과의 상호 작용이 있습니다. XAML 언어 사양 정의는 [MS-XAML] 섹션 5.2.6을 참조하십시오.
x:Decimal
CLR 지원의 경우 x:Decimal 기본 형식은 Decimal에 해당합니다.
en-US 문화권에서는 XAML 구문 분석이 기본적으로 수행됩니다. en-US 문화권에서는 개발 환경의 문화권 설정이나 런타임에 XAML이 로드되는 최종 클라이언트 대상에 상관없이 10진수의 구성 요소에 대한 올바른 구분 기호는 항상 마침표(.)입니다.
XAML 언어 사양 정의는 [MS-XAML] 섹션 5.2.14 및 5.4.8을 참조하십시오.
x:Single
CLR 지원의 경우 x:Single 기본 형식은 Single에 해당합니다.
x:Single의 텍스트 구문에서는 숫자 값 외에 Infinity, -Infinity 및 NaN 토큰이 허용됩니다. 이러한 토큰은 대/소문자를 구분하여 처리됩니다.
텍스트 구문의 첫 문자가 e 또는 E인 경우 x:Single은 과학적 표기법 형태의 값을 지원할 수 있습니다.
XAML 언어 사양 정의는 [MS-XAML] 섹션 5.2.8 및 5.4.2를 참조하십시오.
x:Double
CLR 지원의 경우 x:Double 기본 형식은 Double에 해당합니다.
x:Double의 텍스트 구문에서는 숫자 값 외에 Infinity, -Infinity 및 NaN 토큰이 허용됩니다. 이러한 토큰은 대/소문자를 구분하여 처리됩니다.
텍스트 구문의 첫 문자가 e 또는 E인 경우 x:Double은 과학적 표기법 형태의 값을 지원할 수 있습니다.
XAML 언어 사양 정의는 [MS-XAML] 섹션 5.2.9 및 5.4.3을 참조하십시오.
x:Int16
CLR 지원의 경우 x:Int16 기본 형식은 Int16에 해당하며, x:Int16은 부호 있는 값으로 처리됩니다. XAML에서 텍스트 구문에 더하기(+) 부호가 없을 경우 암시적으로 부호 있는 양의 값으로 처리됩니다.
XAML 언어 사양 정의는 [MS-XAML] 섹션 5.2.11 및 5.4.5를 참조하십시오.
x:Int32
CLR 지원의 경우 x:Int32 기본 형식은 Int32에 해당합니다. x:Int32는 부호 있는 값으로 처리됩니다. XAML에서 텍스트 구문에 더하기(+) 부호가 없을 경우 암시적으로 부호 있는 양의 값으로 처리됩니다.
XAML 언어 사양 정의는 [MS-XAML] 섹션 5.2.12 및 5.4.6을 참조하십시오.
x:Int64
CLR 지원의 경우 x:Int64 기본 형식은 Int64에 해당합니다. x:Int64는 부호 있는 값으로 처리됩니다. XAML에서 텍스트 구문에 더하기(+) 부호가 없을 경우 암시적으로 부호 있는 양의 값으로 처리됩니다.
XAML 언어 사양 정의는 [MS-XAML] 섹션 5.2.13 및 5.4.7을 참조하십시오.
x:TimeSpan
CLR 지원의 경우 x:TimeSpan 기본 형식은 TimeSpan에 해당합니다.
en-US 문화권에서는 시간/날짜 형식에 대한 XAML 구문 분석이 기본적으로 수행됩니다.
XAML 언어 사양 정의는 [MS-XAML] Sections 5.2.16 및 5.4.10을 참조하십시오.
x:Uri
CLR 지원의 경우 x:Uri 기본 형식은 Uri에 해당합니다.
x:Uri에 대한 XAML 정의에는 프로토콜 검사가 포함되지 않습니다.
XAML 언어 사양 정의는 [MS-XAML] 섹션 5.2.15 및 5.4.9를 참조하십시오.
x:Byte
CLR 지원의 경우 x:Byte 기본 형식은 Byte에 해당합니다. Byte/x:Byte는 부호 없는 값으로 처리됩니다.
XAML 언어 사양 정의는 [MS-XAML] 섹션 5.2.10 및 5.4.4를 참조하십시오.
x:Array
CLR 지원의 경우 x:Array 기본 형식은 Array에 해당합니다.
태그 확장 구문을 사용하여 XAML 2006에서 배열을 정의할 수 있지만 XAML 2009 구문은 태그 확장에 액세스할 필요가 없는 언어 정의 기본 형식입니다. XAML 2006 지원에 대한 자세한 내용은 x:Array 태그 확장을 참조하십시오.
XAML 언어 사양 정의는 [MS-XAML] 섹션 5.2.18을 참조하십시오.
WPF 지원
WPF에서 XAML 2009 기능을 사용할 수 있지만 태그 컴파일되지 않은 XAML의 경우에만 가능합니다. WPF에 대한 태그 컴파일된 XAML 및 BAML 형태의 XAML은 현재 XAML 2009 키워드 및 기능을 지원하지 않습니다.
WPF와 함께 XAML 2009 기능을 사용할 수 있는 시나리오는 느슨한 XAML을 작성한 다음 XamlReader.Load를 사용하여 WPF 런타임 및 개체 그래프에 해당 XAML을 로드하는 경우입니다. WPF System.Windows.Markup.XamlReader 및 해당 Load는 XAML 2009 언어 키워드 및 기능을 유효한 개체 그래프 표현으로 처리할 수 있습니다.