FrameworkElement.DataContext Property

Definition

데이터 바인딩에 참여할 때 요소에 대한 데이터 컨텍스트를 가져오거나 설정합니다.Gets or sets the data context for an element when it participates in data binding.

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; }
member this.DataContext : obj with get, set
Public Property DataContext As Object

Property Value

Object

데이터 컨텍스트로 사용할 개체입니다.The object to use as data context.

Attributes

Examples

다음 예제에서는 데이터 컨텍스트 바인딩에 대해 작동 하는 방법을 보여 줍니다. 및 바인딩된 속성의 특정 값을 정의 하는 정보를 제공 합니다.The following example illustrates how a data context acts on a binding and provides the information that defines the specific values of bound properties.

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

Remarks

데이터 컨텍스트 는 요소가 바인딩에 사용 되는 데이터 소스에 대 한 정보를 부모 요소에서 상속 하 고, 경로와 같은 바인딩의 다른 특성을 상속할 수 있도록 하는 개념입니다.Data context is a concept that allows elements to inherit information from their parent elements about the data source that is used for binding, as well as other characteristics of the binding, such as the path.

데이터 컨텍스트 개체의 속성 바인딩을 사용 하 여.NET 개체를 직접 설정할 수 있습니다.Data context can be set directly to a .NET object, with the bindings evaluating to properties of that object. 또는 DataSourceProvider 개체에 대 한 데이터 컨텍스트를 설정할 수 있습니다.Alternatively, you can set the data context to a DataSourceProvider object.

속성 값이 종속성 속성을 상속 합니다.This dependency property inherits property values. 로컬 값 또는 스타일을 통해 설정 된 DataContext에 대 한 다른 값이 없는 자식 요소가 있는 경우 속성 시스템에서는이 값이 할당 된 가장 가까운 부모 요소의 DataContext 값으로 설정 됩니다.If there are child elements without other values for DataContext established through local values or styles, then the property system will set the value to be the DataContext value of the nearest parent element with this value assigned.

또는 Binding 클래스의 다음 속성 중 하나를 사용 하 여 바인딩 소스를 명시적으로 지정할 수 있습니다.Alternatively, you can use one of the following properties of the Binding class to specify the binding source explicitly:

- <span data-ttu-id="58fdc-403"><xref:System.Windows.Data.Binding.ElementName%2A>입니다.</span><span class="sxs-lookup"><span data-stu-id="58fdc-403"><xref:System.Windows.Data.Binding.ElementName%2A>.</span></span>
- <span data-ttu-id="58fdc-404"><xref:System.Windows.Data.Binding.Source%2A>입니다.</span><span class="sxs-lookup"><span data-stu-id="58fdc-404"><xref:System.Windows.Data.Binding.Source%2A>.</span></span>
- <span data-ttu-id="58fdc-405"><xref:System.Windows.Data.Binding.RelativeSource%2A>입니다.</span><span class="sxs-lookup"><span data-stu-id="58fdc-405"><xref:System.Windows.Data.Binding.RelativeSource%2A>.</span></span> 

자세한 내용은 방법: 바인딩 소스 지정을 참조 하세요.For more information, see How to: Specify the Binding Source.

XAML에서 DataContext 가장 일반적으로 Binding 선언으로 설정 됩니다.In XAML, DataContext is most typically set as a Binding declaration. 속성 요소 구문이 나 특성 구문을 사용할 수 있습니다.You can use either property element syntax or attribute syntax. 특성 구문 예제에서는이 페이지에 표시 됩니다.Attribute syntax is shown in the example on this page. 코드를 사용 하 여 DataContext를 설정할 수도 있습니다.You can also use code to set DataContext.

DataContext은 한 컨텍스트가 다른 컨텍스트를 바인딩할 수 있는 시나리오를 용이 하 게 하는 바인딩 가능한 속성입니다.DataContext is a bindable property to facilitate scenarios where one context might be bound to another. 그러나 DataContext에 바인딩하는 경우에는 순환 바인딩 참조를 만들지 않도록 주의 해야 합니다 (DataContext 속성의 속성 값 상속 특성 때문에 DataContext 자체에 바인딩하지 않음).However, if you bind to DataContext, be careful to not create circular binding references (do not bind a DataContext to itself, which it is possible to do because of the property value inheritance nature of the DataContext property).

XAML 속성 요소 사용XAML Property Element Usage

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

XAML 특성 사용XAML Attribute Usage

<object DataContext="bindingUsage"/>  

-또는--or-

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

XAML 값XAML Values

dataContextObjectdataContextObject
부모 요소 내에서 모든 바인딩에 대 한 데이터 컨텍스트로 사용 되는 직접 포함 된 개체입니다.A directly embedded object that serves as data context for any bindings within the parent element. 일반적으로이 개체는 Binding 또는 다른 BindingBase 파생 클래스입니다.Typically, this object is a Binding or another BindingBase derived class. 또는 원시 데이터 바인딩에 사용할 모든 개체 형식의 실제 나중에 정의 된 바인딩을 사용 하 여 여기에서 배치 수 있습니다.Alternatively, raw data of any object type intended for binding may be placed here, with the actual bindings defined later.

bindingUsagebindingUsage
적절 한 데이터 컨텍스트를으로 계산 되는 바인딩 사용 합니다.A binding usage that evaluates to an appropriate data context. 자세한 내용은 Binding 태그 확장을 참조하세요.For details, see Binding Markup Extension.

resourceExtensionresourceExtension
다음 중 하나입니다. StaticResource 또는 DynamicResourceOne of the following: StaticResource or DynamicResource. 리소스에서 사용 되는 개체로 정의 하는 원시 데이터를 참조할 때 사용 됩니다.This usage is used when referring to raw data defined as an object in resources. 참조 XAML 리소스합니다.See XAML Resources.

contextResourceKeycontextResourceKey
ResourceDictionary내에서 요청 되는 개체의 키 식별자입니다.The key identifier for the object being requested from within a ResourceDictionary.

종속성 속성 정보Dependency Property Information

식별자 필드Identifier field DataContextProperty
메타 데이터 속성 설정 trueMetadata properties set to true Inherits

Applies to