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

Définition

Obtient ou définit le contexte de données d’un élément quand il participe à la liaison de données.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

Valeur de propriété

Objet à utiliser comme contexte de données.The object to use as data context.

Exemples

L’exemple suivant illustre comment un contexte de données agit sur une liaison et fournit les informations qui définissent les valeurs spécifiques des propriétés liées.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}}">

Remarques

Contexte de données est un concept qui permet aux éléments d’hériter des informations de leurs éléments parents sur la source de données qui est utilisé pour la liaison, ainsi que d’autres caractéristiques de la liaison, telles que le chemin d’accès.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.

Contexte de données peut être directement défini comme un objet .NET, avec les liaisons qui évaluent aux propriétés de cet objet.Data context can be set directly to a .NET object, with the bindings evaluating to properties of that object. Vous pouvez également définir le contexte de données un DataSourceProvider objet.Alternatively, you can set the data context to a DataSourceProvider object.

Cette propriété de dépendance hérite des valeurs de propriété.This dependency property inherits property values. S’il existe des éléments enfants sans autre valeur pour DataContext établi par le biais des valeurs locales ou de styles, le système de propriétés définira la valeur soit la DataContext la valeur de l’élément parent le plus proche avec cette valeur attribuée.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.

Vous pouvez également utiliser une des propriétés suivantes de la Binding classe pour spécifier la source de liaison explicitement :Alternatively, you can use one of the following properties of the Binding class to specify the binding source explicitly:

- <span data-ttu-id="36696-403"><xref:System.Windows.Data.Binding.ElementName%2A>.</span><span class="sxs-lookup"><span data-stu-id="36696-403"><xref:System.Windows.Data.Binding.ElementName%2A>.</span></span>
- <span data-ttu-id="36696-404"><xref:System.Windows.Data.Binding.Source%2A>.</span><span class="sxs-lookup"><span data-stu-id="36696-404"><xref:System.Windows.Data.Binding.Source%2A>.</span></span>
- <span data-ttu-id="36696-405"><xref:System.Windows.Data.Binding.RelativeSource%2A>.</span><span class="sxs-lookup"><span data-stu-id="36696-405"><xref:System.Windows.Data.Binding.RelativeSource%2A>.</span></span> 

Pour plus d'informations, voir Procédure : Spécifiez la Source de liaison.For more information, see How to: Specify the Binding Source.

Dans XAML, DataContext est généralement définie comme un Binding déclaration.In XAML, DataContext is most typically set as a Binding declaration. Vous pouvez utiliser la syntaxe d’élément de propriété ou de syntaxe d’attribut.You can use either property element syntax or attribute syntax. Syntaxe d’attribut est indiquée dans l’exemple de cette page.Attribute syntax is shown in the example on this page. Vous pouvez également utiliser le code pour définir DataContext.You can also use code to set DataContext.

DataContext est une propriété pouvant être liée pour permettre les scénarios où un contexte peut être lié à un autre.DataContext is a bindable property to facilitate scenarios where one context might be bound to another. Toutefois, si vous liez à DataContext, veillez à ne pas créer des références circulaires de liaison (ne pas lier un DataContext à lui-même, il est possible de le faire en raison de la nature de l’héritage de valeur de propriété de la DataContext propriété).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).

Utilisation des éléments de propriété XAMLXAML Property Element Usage

<object>  
  <object.DataContext>  
    <dataContextObject />  
  </object.DataContext>  
</object>  

Utilisation d'attributs XAMLXAML Attribute Usage

<object DataContext="bindingUsage"/>  
- or -  
<object DataContext="{resourceExtension contextResourceKey}"/>  

Valeurs XAMLXAML Values

dataContextObjectdataContextObject
Un objet incorporé directement qui sert de contexte de données pour toutes les liaisons dans l’élément parent.A directly embedded object that serves as data context for any bindings within the parent element. En règle générale, cet objet est un Binding ou un autre BindingBase classe dérivée.Typically, this object is a Binding or another BindingBase derived class. Les données brutes de tout type d’objet prévu pour la liaison peuvent également être placées ici, avec les liaisons réelles définies ultérieurement.Alternatively, raw data of any object type intended for binding may be placed here, with the actual bindings defined later.

bindingUsagebindingUsage
Utilisation de liaison qui prend la valeur à un contexte de données approprié.A binding usage that evaluates to an appropriate data context. Pour plus d’informations, consultez Binding, extension de balisage.For details, see Binding Markup Extension.

resourceExtensionresourceExtension
Une des opérations suivantes : StaticResource ou DynamicResource .One of the following: StaticResource or DynamicResource. Cette utilisation est utilisée lorsque vous faites référence aux données brutes définies en tant qu’objet dans les ressources.This usage is used when referring to raw data defined as an object in resources. Consultez XAML ressources.See XAML Resources.

contextResourceKeycontextResourceKey
L’identificateur de clé pour l’objet qui est demandé à partir d’un ResourceDictionary.The key identifier for the object being requested from within a ResourceDictionary.

Informations sur les propriétés de dépendanceDependency Property Information

Champ d’identificateurIdentifier field DataContextProperty
La valeur des propriétés de métadonnées trueMetadata properties set to true Inherits

S’applique à