FrameworkElement.DataContext プロパティ


要素がデータ バインディングに含まれている場合に、その要素のデータ コンテキストを取得または設定します。Gets or sets the data context for an element when it participates in data binding.

 property System::Object ^ DataContext { System::Object ^ get(); void set(System::Object ^ value); };
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.

  <src:LeagueList x:Key="MyList" />
<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="e1c0c-403"><xref:System.Windows.Data.Binding.ElementName%2A>.</span><span class="sxs-lookup"><span data-stu-id="e1c0c-403"><xref:System.Windows.Data.Binding.ElementName%2A>.</span></span>
- <span data-ttu-id="e1c0c-404"><xref:System.Windows.Data.Binding.Source%2A>.</span><span class="sxs-lookup"><span data-stu-id="e1c0c-404"><xref:System.Windows.Data.Binding.Source%2A>.</span></span>
- <span data-ttu-id="e1c0c-405"><xref:System.Windows.Data.Binding.RelativeSource%2A>.</span><span class="sxs-lookup"><span data-stu-id="e1c0c-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

    <dataContextObject />  

XAML 属性の使用方法XAML Attribute Usage

<object DataContext="bindingUsage"/>  

- または --or-

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


親要素内の任意のバインドのデータコンテキストとして機能する直接埋め込まれたオブジェクト。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.

適切なデータコンテキストに評価されるバインディングの使用。A binding usage that evaluates to an appropriate data context. 詳細については、「バインディングのマークアップ拡張機能」を参照してください。For details, see Binding Markup Extension.

次のいずれか: 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.

内から要求されているオブジェクトのキー識別子 ResourceDictionaryThe key identifier for the object being requested from within a ResourceDictionary.

依存プロパティ情報Dependency Property Information

識別子フィールドIdentifier field DataContextProperty
メタデータプロパティがに設定される trueMetadata properties set to true Inherits