RelativeSource MarkupExtension
업데이트: 2007년 11월
Binding 태그 확장 내에서 사용되거나 XAML에 설정되어 있는 Binding 요소의 RelativeSource 속성을 설정할 때 사용되는 RelativeSource 바인딩 소스의 속성을 지정합니다.
XAML 특성 사용
<Binding RelativeSource="{RelativeSource modeEnumValue}" .../>
XAML 특성 사용(Binding 확장 내에 중첩)
<object property="{Binding RelativeSource={RelativeSource modeEnumValue} ...}" .../>
XAML 개체 요소 사용
<Binding>
<Binding.RelativeSource>
<RelativeSource Mode="modeEnumValue"/>
</Binding.RelativeSource>
</Binding>
- or
<Binding>
<Binding.RelativeSource>
<RelativeSource
Mode="FindAncestor"
AncestorType="{x:Type typeName}"
AncestorLevel="intLevel"
/>
</Binding.RelativeSource>
</Binding>
XAML 값
modeEnumValue |
다음 중 하나입니다.
|
FindAncestor |
문자열 토큰 FindAncestor. 이 토큰을 사용하면 RelativeSource가 상위 항목 형식과 상위 수준(선택 사항)을 지정하는 모드로 들어갑니다. 이것은 Mode 속성을 FindAncestor로 설정하여 생성한 RelativeSource에 해당합니다. |
typeName |
FindAncestor 모드에 필수적인 요소입니다. AncestorType 속성을 채우는 형식의 이름입니다. |
intLevel |
FindAncestor 모드에서는 선택적으로 사용할 수 있습니다. 논리 트리에서 부모 방향 쪽으로 계산되는 상위 수준입니다. |
설명
위에 표시된 FindAncestor 모드에 대한 개체 요소 구문에서 FindAncestor 모드의 경우에는 특히 두 번째 개체 요소 구문이 사용됩니다. FindAncestor 모드에는 AncestorType 값이 필요합니다. 찾으려는 상위 항목의 형식에 대한 x:Type 태그 확장 참조를 사용하여 AncestorType을 특성으로 설정해야 합니다. 바인딩 요청이 실시간으로 처리될 때 AncestorType 값이 사용됩니다.
FindAncestor 모드의 경우 선택적 속성인 AncestorLevel을 사용하면 요소 트리에 같은 형식의 상위 항목이 여러 개 있을 때 상위 항목을 쉽게 구분할 수 있습니다.
FindAncestor 모드 사용에 대한 자세한 내용은 RelativeSource를 참조하십시오.
여기서는 데이터 바인딩의 개념에 대해 설명하지 않습니다. 자세한 내용은 데이터 바인딩 개요를 참조하십시오.
WPF XAML 프로세서 구현에서 이 태그 확장에 대한 처리는 RelativeSource 클래스를 통해 정의됩니다.
RelativeSource는 태그 확장입니다. 태그 확장은 특성 값을 리터럴 값 또는 처리기 이름이 아닌 다른 값이 되도록 이스케이프해야 하는 요구 사항이 있는 경우 일반적으로 구현되며 이러한 요구 사항은 특정 형식 또는 속성에 형식 변환기를 배치하는 것보다 더 포괄적입니다. XAML의 모든 태그는 태그의 특성 구문에 { 및 } 문자를 사용하며 여기서 특성 구문은 XAML 프로세서에 태그 확장이 특성을 처리해야 한다는 것을 인식하는 규칙입니다. 자세한 내용은 태그 확장 및 XAML을 참조하십시오.