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

다음 중 하나입니다.

  • 문자열 토큰 Self. 이것은 Mode 속성을 Self로 설정하여 생성한 RelativeSource에 해당합니다.

  • 문자열 토큰 TemplatedParent. 이것은 Mode 속성을 TemplatedParent로 설정하여 생성한 RelativeSource에 해당합니다.

  • 문자열 토큰 PreviousData. 이것은 Mode 속성을 PreviousData로 설정하여 생성한 RelativeSource에 해당합니다.

  • FindAncestor 모드에 대한 자세한 내용은 다음을 참조하십시오.

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을 참조하십시오.

참고 항목

개념

스타일 지정 및 템플릿

XAML 개요

태그 확장 및 XAML

데이터 바인딩 개요

바인딩 선언 개요

참조

Binding

x:Type 태그 확장