ControlTemplate.TargetType 속성

정의

ControlTemplate이 적용되는 형식을 가져오거나 설정합니다.

public:
 property TypeName TargetType { TypeName get(); void set(TypeName value); };
TypeName TargetType();

void TargetType(TypeName value);
public System.Type TargetType { get; set; }
var typeName = controlTemplate.targetType;
controlTemplate.targetType = typeName;
Public Property TargetType As Type
<ControlTemplate TargetType="typeName"/>

속성 값

ControlTemplate이 적용되는 형식입니다. 이 값은 일반적으로 코드가 아닌 XAML로 설정됩니다. 설명 부분을 참조하세요.

설명

TargetType 값을 지정하는 일반적인 방법은 ControlTemplate의 XAML 특성을 사용하는 것입니다. XAML에서 설정하는 경우 TargetType의 의미와 제공하는 값은 XAML에서 형식이 표현되는 방식의 몇 가지 측면을 사용합니다. 특히 지정된 형식을 XAML 요소로 참조하는 데 필요한 접두사도 TargetType 값 문자열의 값으로 포함되어야 합니다. 예를 들어 템플릿이 특정 태그 scope 이미 매핑된 접두사 "local"이 선행되어야 하는 사용자 지정 형식을 대상으로 하는 경우 TargetType 값에 동일한 접두사를 포함해야 합니다. 이 동작은 Windows 런타임 XAML 파서의 기본 제공 변환 동작에 의해 활성화됩니다.

대부분의 경우 ControlTemplateTemplate 속성의 Setter 내에 있는 ControlTemplate에 대한 TargetType을 설정합니다. 그러면 컨트롤에 대해 정의하는 암시적 스타일 내에 있습니다. 포함하는 Style의 ControlTemplate.TargetType 값과 Style.TargetType 값은 항상 동일한 암시적으로 명명된 컨트롤을 참조하는 동일한 형식 참조여야 합니다. 그렇지 않으면 컨트롤 템플릿이 작동하지 않을 수 있습니다.

컨트롤 템플릿을 작성하는 방법에 대한 자세한 내용은 XAML 컨트롤 템플릿을 참조하세요.

참고

이전에 WPF(Windows Presentation Foundation용 XAML)를 프로그래밍한 경우 x:Type 태그 확장을 사용하여 System.Type을 사용하는 XAML 값을 입력했을 수 있습니다. Windows 런타임 XAML 파서는 x:Type을 지원하지 않습니다. 대신 태그 확장을 사용하지 않고 이름으로 형식을 참조해야 하며, 필요한 XAML-지원 형식 변환은 이미 이전 단락에 설명된 기본 제공 변환 동작에 의해 처리됩니다.

코드에서 TargetType 사용

코드에서 TargetType을 설정하는 것은 일반적이지 않습니다. XAML 스타일/템플릿 시스템은 XAML을 리소스로 로드하고 컨트롤 템플릿의 모든 측면을 미리 준비하는 데 사용됩니다. 코드에서 만들거나 참조하는 ControlTemplate 에서 TargetType을 설정해야 하는 런타임까지 컨트롤 및 템플릿에 대한 정보를 알 수 없는 시나리오는 거의 없습니다.

코드에서 TargetType을 가져오는 것은 드문 일이지만 XAML에서 로드한 ControlTemplate이 런타임 트리에서 얻은 지정된 컨트롤 대상과 호환된다는 것을 두 번 검사 수 있습니다.

Microsoft .NET 언어(C# 또는 Microsoft Visual Basic)를 사용하여 프로그래밍하는 경우 TypeName 형식은 System.Type으로 프로젝트합니다. C#을 사용하여 프로그래밍할 때 일반적으로 typeof 연산자를 사용하여 형식 이름을 문자열로 기반으로 하는 형식의 System.Type 에 대한 참조를 가져옵니다. Microsoft Visual Basic에서 GetType을 사용합니다.

적용 대상

추가 정보