FrameworkElement.DataContext 속성

정의

데이터 바인딩에 참여할 때 요소에 대한 데이터 컨텍스트를 가져오거나 설정합니다.

public:
 property System::Object ^ DataContext { System::Object ^ get(); void set(System::Object ^ value); };
[System.Windows.Localizability(System.Windows.LocalizationCategory.NeverLocalize)]
public object DataContext { get; set; }
[<System.Windows.Localizability(System.Windows.LocalizationCategory.NeverLocalize)>]
member this.DataContext : obj with get, set
Public Property DataContext As Object

속성 값

Object

데이터 컨텍스트로 사용할 개체입니다.

특성

예제

다음 예제에서는 데이터 컨텍스트가 바인딩에 대해 작동하는 방식을 보여 주고 바인딩된 속성의 특정 값을 정의하는 정보를 제공합니다.

<Window.Resources>
  <src:LeagueList x:Key="MyList" />
</Window.Resources>
<DockPanel DataContext="{Binding Source={StaticResource MyList}}">

설명

데이터 컨텍스트 는 요소가 바인딩에 사용되는 데이터 원본에 대한 부모 요소의 정보와 경로와 같은 바인딩의 다른 특성을 상속할 수 있는 개념입니다.

데이터 컨텍스트는 해당 개체의 속성으로 평가되는 바인딩을 사용하여 .NET 개체로 직접 설정할 수 있습니다. 또는 데이터 컨텍스트를 개체로 DataSourceProvider 설정할 수 있습니다.

이 종속성 속성은 속성 값을 상속합니다. 로컬 값이나 스타일을 통해 설정할 다른 값 DataContext 이 없는 자식 요소가 있는 경우 속성 시스템은 이 값 DataContext 이 할당된 가장 가까운 부모 요소의 값으로 값을 설정합니다.

또는 클래스의 Binding 다음 속성 중 하나를 사용하여 바인딩 소스를 명시적으로 지정할 수 있습니다.

- <xref:System.Windows.Data.Binding.ElementName%2A>.
- <xref:System.Windows.Data.Binding.Source%2A>.
- <xref:System.Windows.Data.Binding.RelativeSource%2A>. 

자세한 내용은 방법: 바인딩 원본 지정을 참조하세요.

XAML DataContext 에서 가장 일반적으로 선언으로 Binding 설정됩니다. 속성 요소 구문 또는 특성 구문을 사용할 수 있습니다. 특성 구문은 이 페이지의 예제에 나와 있습니다. 코드를 사용하여 설정할 DataContext수도 있습니다.

DataContext 는 한 컨텍스트가 다른 컨텍스트에 바인딩될 수 있는 시나리오를 용이하게 하기 위한 바인딩 가능한 속성입니다. 그러나 바인딩하는 DataContext경우 순환 바인딩 참조를 만들지 않도록 주의해야 합니다(속성의 DataContext 속성 값 상속 특성으로 인해 수행할 수 있는 자체에 바인딩 DataContext 하지 마세요).

XAML 속성 요소 사용

<object>  
  <object.DataContext>  
    <dataContextObject />  
  </object.DataContext>  
</object>  

XAML 특성 사용

<object DataContext="bindingUsage"/>  

또는

<object DataContext="{resourceExtension contextResourceKey}"/>  

XAML 값

dataContextObject
부모 요소 내의 모든 바인딩에 대한 데이터 컨텍스트 역할을 하는 직접 포함된 개체입니다. 일반적으로 이 개체는 파생 Binding 클래스이거나 다른 BindingBase 파생 클래스입니다. 또는 바인딩을 위한 모든 개체 형식의 원시 데이터를 여기에 배치할 수 있으며, 실제 바인딩은 나중에 정의됩니다.

bindingUsage
적절한 데이터 컨텍스트로 평가되는 바인딩 사용법입니다. 자세한 내용은 Binding 태그 확장을 참조하세요.

resourceExtension
다음 중 하나: StaticResource 또는 DynamicResource. 이 사용법은 리소스에서 개체로 정의된 원시 데이터를 참조할 때 사용됩니다. 참조 XAML 리소스합니다.

contextResourceKey
에서 요청되는 개체의 키 식별자입니다 ResourceDictionary.

종속성 속성 정보

식별자 필드 DataContextProperty
메타 데이터 속성 설정 true Inherits

적용 대상