x:Class 지시문

XAML 표시 컴파일을 구성하여 태그와 코드 숨김 사이에 partial 클래스를 연결합니다. 표시 partial 클래스는 보통 XAML 컴파일 중에 생성되는 코드에 의해 만들어지는 한편, 코드 partial 클래스는 CLS(공용 언어 사양) 언어로 별도의 코드 파일에서 정의됩니다.

XAML 특성 사용

<object x:Class="namespace.classname"...>
  ...
</object>

XAML 값

Description
namespace 선택 사항입니다. classname에서 지정한 partial 클래스가 포함된 CLR 네임스페이스를 지정합니다. namespace이(가) 지정된 경우 점(.)은 namespaceclassname을(를) 구분합니다. 설명 부분을 참조하세요.
classname 필수 사항입니다. 로드된 XAML 및 해당 XAML의 코드 숨김을 연결하는 partial 클래스의 CLR 이름을 지정합니다.

종속성

XAML 프로덕션의 루트 요소에만 x:Class를 지정할 수 있습니다. x:Class가 XAML 프로덕션에 부모가 있는 개체에서 유효하지 않습니다. 자세한 내용은 [MS-XAML] 섹션 6.3.1.6을 참조하세요.

설명

namespace 값에는 관련 네임스페이스를 .NET 프로그래밍의 일반적인 기술인 이름 계층 구조로 구성하는 추가 점이 포함될 수 있습니다. x:Class 값 문자열의 마지막 점만 namespaceclassname.를 구분하는 것으로 해석됩니다. x:Class로 사용된 클래스는 중첩 클래스일 수 없습니다. 중첩 클래스가 허용될 경우 x:Class 문자열에 대한 점의 의미를 결정하는 것이 모호하기 때문에 중첩 클래스는 허용되지 않습니다.

x:Class를 사용하는 기존 프로그래밍 모델에서 x:Class는 코드 숨김이 없는 XAML 페이지가 있는 것이 전적으로 유효하다는 점에서 선택 사항입니다. 그러나 이 기능은 XAML을 사용하는 프레임워크에서 구현한 빌드 작업과 상호 작용합니다. x:Class 기능은 애플리케이션 모델 및 해당 빌드 작업에서 XAML 지정 콘텐츠의 다양한 분류가 갖는 역할에도 영향을 받습니다. XAML이 이벤트 처리 특성 값을 선언하거나 정의 클래스가 코드 숨김 클래스에 있는 사용자 지정 요소를 인스턴스화하는 경우 코드 숨김에 적합한 클래스에 x:Class 지시문 참조(또는 x:Subclass)를 제공해야 합니다.

x:Class 지시문의 값은 클래스의 정규화된 이름을 지정하지만 어셈블리 정보(Type.FullName에 해당)가 없는 문자열이어야 합니다. 간단한 애플리케이션의 경우 코드 숨김이 이러한 방식으로 구조화되었다면 CLR 네임스페이스 정보를 생략할 수 있습니다(코드 정의는 클래스 수준에서 시작).

페이지 또는 애플리케이션 정의의 코드 숨김 파일은 컴파일된 애플리케이션을 생성하고 표시 컴파일을 포함하는 프로젝트의 일부로 포함된 코드 파일 내에 있어야 합니다. CLR 클래스에 대한 이름 규칙을 따라야 합니다. 자세한 내용은 프레임워크 디자인 가이드라인을 참조하세요. 기본적으로 코드 숨김 클래스는 반드시 public이어야 합니다. 그러나 x:ClassModifier 지시문을 사용하여 다른 액세스 수준에서 정의할 수는 있습니다.

x:Class 특성 해석은 CLR 기반 XAML 구현, 특히 .NET XAML 서비스에만 적용됩니다. CLR을 기반으로 하지 않고 .NET XAML 서비스를 사용하지 않는 다른 XAML 구현은 XAML 태그 연결 및 런타임 코드 백업에 다른 확인 수식을 사용할 수 있습니다. 보다 일반적인 x:Class 해석에 대한 자세한 내용은 [MS-XAML]을 참조하세요.

특정 수준의 아키텍처에서 x:Class의 의미는 .NET XAML 서비스에서 정의되지 않습니다. .NET XAML 서비스가 XAML 태그 및 백업 코드를 연결하는 프로그래밍 모델을 지정하지 않기 때문입니다. 프로그래밍 모델 또는 애플리케이션 모델을 사용하여 XAML 태그 및 CLR 기반 코드 숨김을 연결하는 방법을 정의하는 특정 프레임워크에서 x:Class 지시문을 추가로 사용할 수 있습니다. 각 프레임워크에는 빌드 환경에 포함되어야 하는 일부 동작 또는 특정 구성 요소를 사용하도록 설정하는 자체 빌드 작업이 있을 수 있습니다. 프레임워크 내에서 빌드 작업은 코드 숨김에 사용되는 특정 CLR 언어에 따라 달라질 수도 있습니다.

WPF 프로그래밍 모델의 x:Class

WPF 애플리케이션 및 WPF 애플리케이션 모델에서 x:Class는 XAML 파일의 루트이고 컴파일되는 모든 요소(Page 빌드 작업이 있는 WPF 애플리케이션 프로젝트에 XAML이 포함됨) 또는 컴파일된 WPF 애플리케이션의 애플리케이션 정의에 있는 Application 루트에 대한 특성으로 선언할 수 있습니다. 페이지 루트 또는 애플리케이션 루트가 아닌 요소 또는 컴파일되지 않은 WPF XAML 파일에서 x:Class를 선언하면 .NET Framework 3.0 및 .NET Framework 3.5 WPF XAML 컴파일러에서 컴파일 시간 오류가 발생합니다. WPF에서 x:Class 처리의 다른 측면에 대한 자세한 내용은 WPF의 코드 숨김 및 XAML을 참조하세요.

Windows Workflow Foundation에 대한 x:Class

Windows Workflow Foundation x:Class의 경우 XAML로 완전히 구성된 사용자 지정 활동의 클래스 이름을 지정하거나 코드 숨김이 있는 활동 디자이너에 대한 XAML 페이지의 부분 클래스 이름을 지정합니다.

Silverlight 사용 정보

Silverlight의 x:Class은 별도로 문서화됩니다. 자세한 내용은 XAML 네임스페이스(x:) 언어 기능(Silverlight)을 참조하세요.

참고 항목