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="3e561-403"><xref:System.Windows.Data.Binding.ElementName%2A>。</span><span class="sxs-lookup"><span data-stu-id="3e561-403"><xref:System.Windows.Data.Binding.ElementName%2A>.</span></span>
- <span data-ttu-id="3e561-404"><xref:System.Windows.Data.Binding.Source%2A>.</span><span class="sxs-lookup"><span data-stu-id="3e561-404"><xref:System.Windows.Data.Binding.Source%2A>.</span></span>
- <span data-ttu-id="3e561-405"><xref:System.Windows.Data.Binding.RelativeSource%2A>。</span><span class="sxs-lookup"><span data-stu-id="3e561-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. 詳細については、「バインディングのマークアップ拡張機能」を参照してください。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
内から要求されているオブジェクトのキー識別子ResourceDictionaryThe key identifier for the object being requested from within a ResourceDictionary.

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

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

適用対象