다음을 통해 공유


x:Class 특성

XAML 컴파일을 구성하여 태그와 코드 비하인드 간의 부분 클래스를 통합합니다. 코드 부분 클래스는 별도의 코드 파일에 정의되며 태그 부분 클래스는 XAML 컴파일 중에 코드 생성에 의해 생성됩니다.

XAML 특성 사용

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

XAML 값

용어 Description
네임스페이스 Optional. 클래스 이름으로 식별되는 partial 클래스를 포함하는 네임스페이스를 지정 합니다. 네임스페이스를 지정하면 점(.)이 네임스페이스와 클래스 이름을 구분합니다. 네임스페이스를 생략하면 클래스 이름에 네임스페이스가 없는 것으로 간주됩니다.
클래스명 필수 사항입니다. 로드된 XAML과 해당 XAML의 코드 숨김을 연결하는 부분 클래스의 이름을 지정합니다.

비고

x:Class 는 XAML 파일/개체 트리의 루트이고 빌드 작업 또는 컴파일된 애플리케이션의 애플리케이션 정의에 있는 애플리케이션 루트에 의해 컴파일되는 모든 요소에 대한 특성으로 선언할 수 있습니다. 루트 노드가 아닌 다른 요소에서 x:Class 를 선언하고 페이지 빌드 작업으로 컴파일되지 않은 XAML 파일에 대한 모든 상황에서 컴파일 시간 오류가 발생합니다.

x:Class로 사용되는 클래스는 중첩 클래스일 수 없습니다.

x:Class 특성의 값은 클래스의 정규화된 이름을 지정하는 문자열이어야 합니다. 코드 숨김이 그렇게 구조화되어 있는 한, 네임스페이스 정보를 생략할 수 있습니다 (클래스 정의는 클래스 수준에서 시작해야 합니다). 페이지 또는 애플리케이션 정의에 대한 코드 숨김 파일은 프로젝트의 일부로 포함된 코드 파일 내에 있어야 합니다. 코드 비하인드 클래스는 public이어야 합니다. 코드 비하인드 클래스는 부분 클래스여야 합니다.

CLR 언어 규칙

코드 숨김 파일은 C++ 파일일 수 있지만, XAML 구문에 차이가 없도록 CLR 언어 형식을 따르는 특정 규칙이 있습니다. 특히 x:Class 값의 네임스페이스와 클래스 이름 구성 요소 간의 구분 기호는 항상 점(".")이지만 XAML과 연결된 C++ 코드 파일의 네임스페이스와 클래스 이름 사이의 구분 기호는 "::"입니다. C++에서 중첩된 네임스페이스를 선언하는 경우 x:Class 값의 네임스페이스 부분을 지정할 때 연속 중첩된 네임스페이스 문자열 사이의 구분 기호도 "::"가 아닌 "."이어야 합니다.