Share via


x:Code XAML 지시문 요소

업데이트: 2007년 11월

XAML을 해석하는 것이 아니라 컴파일하는 모든 XAML 프로세서 구현에서 컴파일되는 XAML 안에 코드를 배치할 수 있습니다.

XAML 개체 요소 사용

<object>
<x:Code>
   // code instructions, usually enclosed by CDATA...
</x:Code>
</object>

종속성

x:Class 특성이 구문에서 object로 표시된 부모 요소에 제공되어야 하며 해당 요소는 페이지에서 루트 요소여야 합니다. x:Code 지시문 요소는 object 루트 요소의 바로 아래 자식 요소여야 합니다.

설명

x:Code XAML 지시문 요소 내의 코드는 여전히 제공된 XML 네임스페이스 내에서 해석됩니다. 따라서 코드를 CDATA 세그먼트 안에서 x:Code로 묶어야 합니다.

x:Code가 XAML 파일의 가능한 모든 배포 메커니즘에 대해 허용되는 것은 아닙니다. WPF에 대한 코드는 여전히 컴파일되어야 하며 해석되거나 just-in-time으로 사용되지 않습니다. 예를 들어 x:Code는 XPS(XML Paper Specification) 문서 또는 느슨한 XAML 안에서 사용할 수 없습니다.

x:Code 콘텐츠에 대해 사용할 언어 컴파일러는 응용 프로그램 컴파일에 사용되는 포함 프로젝트의 설정 및 대상에 따라 결정됩니다.

x:Code 안에서 선언되는 코드에는 몇 가지 중요한 제한이 있습니다. x:Code 안에 있는 코드는 컴파일할 때 해당 XAML 페이지에 대해 이미 생성된 partial 클래스의 범위 내에 있는 것으로 취급됩니다. 따라서 정의하는 모든 코드가 해당 partial 클래스의 멤버 또는 변수여야 합니다. partial 클래스 안에 클래스를 중첩하는 방법(중첩된 클래스를 XAML에서 참조할 수 없으므로 잘못된 방법은 아니지만 일반적이지 않음) 이외에는 추가 클래스를 정의할 수 없습니다. 기존 partial 클래스에 대해 사용되는 네임스페이스 이외의 다른 CLR 네임스페이스는 정의하거나 추가할 수 없습니다. partial 클래스 CLR 네임스페이스 외부의 코드 엔터티에 대한 참조는 모두 정규화되어야 합니다. 선언 중인 멤버가 partial 클래스 재정의 가능한 멤버로 재정의되는 경우에는 언어별 재정의 키워드로 이를 지정해야 합니다. 멤버가 컴파일러가 보고하는 방식으로 XAML 페이지에서 생성된 partial 클래스의 멤버와 충돌하는 경우에는 XAML 파일 로드나 컴파일이 실패합니다.

참고 항목

개념

코드 숨김 및 XAML

XAML 개요

참조

x:Class 특성