다음을 통해 공유


x:Class 특성

XAML 컴파일을 구성하여 태그와 코드 숨김 사이에 partial 클래스를 연결합니다. 코드 partial 클래스는 별도의 코드 파일에 정의되며, 태그 partial 클래스는 XAML 컴파일 중 코드 생성에 의해 만들어집니다.

XAML 특성 사용

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

XAML 값

용어 설명
namespace 선택 사항. classname이 확인된 partial 클래스가 포함된 네임스페이스를 지정합니다. 네임스페이스를 지정하면 점(.)이 네임스페이스클래스 이름을 구분합니다. 네임스페이스를 생략하면 클래스 이름에 네임스페이스가 없는 것으로 간주됩니다.
classname 필수입니다. 로드된 XAML 및 해당 XAML의 코드 숨김을 연결하는 partial 클래스의 이름을 지정합니다.

설명

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

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

x:Class 특성의 값은 클래스 의 정규화된 이름을 지정하는 문자열이어야 합니다. 코드 숨김이 구조화되는 방식인 한 네임스페이스 정보를 생략할 수 있습니다(클래스 정의는 클래스 수준에서 시작됨). 페이지 또는 응용 프로그램 정의에 대한 코드 숨김 파일은 프로젝트의 일부로 포함된 코드 파일 내에 있어야 합니다. 코드 숨김 클래스는 public이어야 합니다. 코드 숨김 클래스는 partial이어야 합니다.

CLR 언어 규칙

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