다음을 통해 공유


TemplateBinding 태그 확장

업데이트: 2007년 11월

컨트롤 템플릿의 속성 값을 템플릿 기반 컨트롤에서 노출되는 몇몇 다른 속성 값에 연결합니다.

XAML 특성 사용

<object property="{TemplateBinding targetProperty}" .../>

XAML 특성 사용(템플릿 또는 스타일의 Setter 속성의 경우)

<Setter Property="propertyName" Value="{TemplateBinding targetProperty}" .../>

XAML 값

propertyName

setter 구문에 설정할 속성의 DependencyProperty.Name입니다.

targetProperty

템플릿을 기반으로 만들 형식에 존재하는 종속성 속성이며 해당 DependencyProperty.Name으로 지정됩니다.

- 또는 -

템플릿을 기반으로 만들 대상 형식과는 다른 형식으로 정의되는 "점으로 구분된" 속성 이름이며 실제로는 PropertyPath입니다. PropertyPath XAML 구문을 참조하십시오.

설명

TemplateBinding은 템플릿 시나리오에서 사용하는 바인딩의 최적화된 형태로, {Binding RelativeSource={RelativeSource TemplatedParent}}를 사용하여 생성되는 Binding과 비슷합니다.

RelativeSource는 템플릿 내에서 상대적 속성 바인딩을 수행하기 위해 TemplateBinding과 함께 또는 그 대신 사용되는 또 다른 태그 확장입니다.

여기서는 컨트롤 템플릿의 개념에 대해 설명하지 않습니다. 자세한 내용은 ControlTemplate 예제를 참조하십시오.

특성 구문은 이러한 태그 확장에 가장 많이 사용되는 구문입니다. TemplateBinding 식별자 문자열 다음에 나오는 문자열 토큰은 기본 TemplateBindingExtension 확장 클래스의 Property 값으로 할당됩니다.

다른 요소 구문도 가능하지만 실제 환경에서 적용하지 않으므로 표시하지 않았습니다. TemplateBinding은 평가된 식을 사용하여 setter 내에 값을 채우는 데 사용됩니다. TemplateBinding에 대한 개체 요소 구문을 사용하여 <Setter.Property> 속성 요소 구문을 채우는 경우 작업이 번거롭습니다.

Property 속성을 다음과 같이 속성=값 쌍으로 지정하는 자세한 특성 사용 구문에도 TemplateBinding을 사용할 수 있습니다.

<object property="{TemplateBinding Property=targetProperty}" .../>

자세한 정보 표시는 설정 가능한 속성이 여러 개이거나 일부 속성이 선택 사항인 확장에 유용한 경우가 많습니다. TemplateBinding에는 설정 가능한 속성이 하나뿐이고 이 속성은 필수적 속성이므로 자세한 정보 표시를 사용하지 않는 것이 일반적입니다.

WPF XAML 프로세서 구현에서 이 태그 확장에 대한 처리는 TemplateBindingExtension 클래스를 통해 정의됩니다.

TemplateBinding은 태그 확장입니다. 태그 확장은 특성 값을 리터럴 값 또는 처리기 이름이 아닌 다른 값이 되도록 이스케이프해야 하는 요구 사항이 있는 경우 일반적으로 구현되며 이러한 요구 사항은 특정 형식 또는 속성에 형식 변환기를 배치하는 것보다 더 포괄적입니다. XAML의 모든 태그는 태그의 특성 구문에 { 및 } 문자를 사용하며 여기서 특성 구문은 XAML 프로세서에 태그 확장이 특성을 처리해야 한다는 것을 인식하는 규칙입니다. 자세한 내용은 태그 확장 및 XAML을 참조하십시오.

참고 항목

개념

스타일 지정 및 템플릿

XAML 개요

태그 확장 및 XAML

참조

RelativeSource MarkupExtension

Binding 태그 확장

Style

ControlTemplate