FrameworkElement.DataContext Property

定義

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

[System.Windows.Localizability(System.Windows.LocalizationCategory.NeverLocalize)]
public object DataContext { get; set; }
プロパティ値

データ コンテキストとして使用するオブジェクト。 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="6d06d-396"><xref:System.Windows.Data.Binding.ElementName%2A>。</span><span class="sxs-lookup"><span data-stu-id="6d06d-396"><xref:System.Windows.Data.Binding.ElementName%2A>.</span></span>
- <span data-ttu-id="6d06d-397"><xref:System.Windows.Data.Binding.Source%2A>。</span><span class="sxs-lookup"><span data-stu-id="6d06d-397"><xref:System.Windows.Data.Binding.Source%2A>.</span></span>
- <span data-ttu-id="6d06d-398"><xref:System.Windows.Data.Binding.RelativeSource%2A>。</span><span class="sxs-lookup"><span data-stu-id="6d06d-398"><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 別に 1 つのコンテキストをバインドするがあるシナリオを容易にバインド可能なプロパティです。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. 詳細については、「バインディングのマークアップ拡張機能」を参照してください。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

適用対象