FrameworkContentElement.DataContext FrameworkContentElement.DataContext FrameworkContentElement.DataContext FrameworkContentElement.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.

次の例では、新しいカスタムParagraphデータオブジェクトを作成し、そのオブジェクトをとしDataContextて確立し、バインドパスをその中のプロパティに設定することによって、要素のバインドを設定します。The following example sets a binding on a Paragraph element, by creating a new custom data object, establishing that object as DataContext, and setting the binding path to a property within it.

MyData myDataObject = new MyData();
myflowdocument.DataContext = myDataObject;
introParagraph.SetBinding(Paragraph.TagProperty, "CustomData");
Dim myDataObject As New MyData()
myflowdocument.DataContext = myDataObject
introParagraph.SetBinding(Paragraph.TagProperty, "CustomData")

注釈

データコンテキストは、バインドに使用されるバインディングソースと、パスなどのバインディングのその他の特性について、要素が親要素から情報を継承できるようにする概念です。Data context is a concept that allows elements to inherit information from their parent elements about the binding source that is used for binding, as well as other characteristics of the binding such as the path.

データコンテキストは、そのオブジェクトのプロパティ共通言語ランタイム (CLR)common language runtime (CLR)を評価するバインディングを使用して、オブジェクトに直接設定できます。Data context can be set directly to a 共通言語ランタイム (CLR)common language runtime (CLR) 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 with no other value for DataContext established through local values or styles, the property system will set the value to be the DataContext value of the nearest parent element with this value assigned.

またBindingは、クラスの次のいずれかのプロパティを使用して、バインディングソースを明示的に指定RelativeSourceすることもできます。 ElementNameSource、または。Alternatively, you can use one of the following properties of the Binding class to specify the binding source explicitly: ElementName, Source, or RelativeSource. 詳細については、「方法 :バインディングソースを指定します。For more information, see How to: Specify the Binding Source.

XAMLXAMLDataContext 、は、 Binding通常、宣言としてに設定されます。In XAMLXAML, DataContext is most commonly set to 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 set DataContext in code.

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 subclass. また、バインドを目的とCLRCLRしたオブジェクトの種類の生データをここに配置し、実際のバインドを後で定義することもできます。Alternatively, raw data of any CLRCLR 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

適用対象