다음을 통해 공유


TemplateBinding 마크업 확장

컨트롤 템플릿의 속성 값을 템플릿 기반 컨트롤의 다른 속성 값에 연결합니다.

XAML 특성 사용

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

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

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

XAML 값

가치 설명
propertyName DependencyProperty.Name 설정 구문에서 사용할 속성인 DependencyProperty.Name입니다.
sourceProperty 템플릿이 지정된 형식에 존재하는 또 다른 종속성 속성이며, DependencyProperty.Name에 의해 지정됩니다.

-또는-

"템플릿의 대상 형식과 다른 형식에 의해 정의된 '점으로 구분된' 속성 이름입니다." 실제로는 PropertyPath입니다. PropertyPath XAML 구문을 참조하세요.

비고

TemplateBinding은 템플릿 시나리오에 대해 최적화된 Binding의 형태로, {Binding RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay}로 구성된 Binding와 유사합니다. TemplateBinding은 속성이 기본적으로 양방향 바인딩으로 설정되어 있을지라도 항상 단방향 바인딩입니다. 관련된 두 속성은 모두 종속성 속성이어야 합니다. 템플릿 기반 부모에 대해 양방향 바인딩을 수행하려면 다음 바인딩 문을 사용하십시오: {Binding RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay, Path=MyDependencyProperty}.

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

컨트롤 템플릿을 개념으로 설명하는 내용은 여기서 다루지 않습니다. 자세한 내용은 스타일 및 템플릿을 참조하세요.

특성 구문은 이 태그 확장에 사용되는 가장 일반적인 구문입니다. TemplateBinding 식별자 문자열 이후에 제공된 문자열 토큰은 기본 Property 확장 클래스의 TemplateBindingExtension 값으로 할당됩니다.

다른 요소 구문도 가능하지만 실제 환경에서 적용하지 않으므로 표시하지 않았습니다. TemplateBinding은 평가된 식을 사용하여 setter 내에 값을 채우는 데 사용됩니다. TemplateBinding의 개체 요소 구문을 사용하여 <Setter.Property> 속성 요소 구문을 채우는 것은 지나치게 장황한 표현입니다.

TemplateBindingProperty 속성을 속성=값 쌍으로 지정하는 자세한 속성 사용법에서도 사용할 수 있습니다.

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

자세한 정보 표시는 대개 설정 가능한 속성이 둘 이상이거나 일부 속성이 선택 사항인 확장의 경우에 유용합니다. TemplateBinding에는 설정 가능한 속성이 하나뿐이며 이 속성은 필수적 속성이므로, 자세하게 설명하는 사용법은 일반적이지 않습니다.

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

TemplateBinding 태그 확장입니다. 마크업 확장은 속성 값을 리터럴 값이나 처리기 이름이 아닌 다른 값으로 처리해야 할 필요가 있을 때 일반적으로 구현되며, 이러한 필요는 특정 형식이나 속성에만 형식 변환기를 사용하는 것보다 더 광범위합니다. XAML의 모든 태그 확장은 특성 구문에 {} 문자를 사용합니다. 이는 XAML 프로세서가 태그 확장이 특성을 처리해야 함을 인식하는 규칙입니다. 더 많은 정보를 원하시면 태그 확장 및 WPF XAML을 참조하세요.

참고하십시오