FrameworkElement.DataContext FrameworkElement.DataContext FrameworkElement.DataContext FrameworkElement.DataContext Property

정의

데이터 바인딩에 참여할 때 요소에 대한 데이터 컨텍스트를 가져오거나 설정합니다.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

속성 값

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

예제

다음 예제에서는 데이터 컨텍스트 바인딩에 대해 작동 하는 방법을 보여 줍니다. 및 바인딩된 속성의 특정 값을 정의 하는 정보를 제공 합니다.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}}">

설명

데이터 컨텍스트 는 요소가 바인딩 뿐만 아니라 경로 같은 바인딩의 다른 특성에 사용 되는 데이터 원본에 대 한 부모 요소 로부터 정보를 상속할 수 있도록 하는 개념입니다.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="ee25a-403"><xref:System.Windows.Data.Binding.ElementName%2A>.</span><span class="sxs-lookup"><span data-stu-id="ee25a-403"><xref:System.Windows.Data.Binding.ElementName%2A>.</span></span>
- <span data-ttu-id="ee25a-404"><xref:System.Windows.Data.Binding.Source%2A>.</span><span class="sxs-lookup"><span data-stu-id="ee25a-404"><xref:System.Windows.Data.Binding.Source%2A>.</span></span>
- <span data-ttu-id="ee25a-405"><xref:System.Windows.Data.Binding.RelativeSource%2A>.</span><span class="sxs-lookup"><span data-stu-id="ee25a-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 하거나 DynamicResource 합니다.One 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

적용 대상