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

Le contexte de données est un concept qui permet aux éléments d’hériter des informations de leurs éléments parents concernant la source de données utilisée 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.

Le contexte de données peut être défini directement sur 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 sur 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 DataContext définie par le biais de valeurs ou de styles locaux, le système de propriétés définit la valeur DataContext comme étant la valeur de l’élément parent le plus proche avec cette valeur assigné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 l’une des propriétés suivantes de la Binding classe pour spécifier explicitement la source de liaison:Alternatively, you can use one of the following properties of the Binding class to specify the binding source explicitly:

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

Pour plus d’informations, consultez Guide pratique pour Spécifiez la sourcede liaison.For more information, see How to: Specify the Binding Source.

En XAML, DataContext est généralement défini Binding en tant que 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 la syntaxe d’attribut.You can use either property element syntax or attribute syntax. La syntaxe d’attribut est présentée dans l’exemple de cette page.Attribute syntax is shown in the example on this page. Vous pouvez également utiliser du code pour DataContextdéfinir.You can also use code to set DataContext.

DataContextest une propriété pouvant être liée pour faciliter les scénarios dans lesquels 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 créez une DataContextliaison avec, veillez à ne pas créer de références de liaison circulaires (ne liez pas un DataContext à lui-même, ce qui est possible en raison de DataContext la nature de l’héritage de la valeur de propriété de la 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"/>  

- ou --or-

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

Valeurs XAMLXAML Values

dataContextObjectdataContextObject
Objet incorporé directement qui sert de contexte de données pour toutes les liaisons au sein de l’élément parent.A directly embedded object that serves as data context for any bindings within the parent element. En général, cet objet est Binding une ou BindingBase une autre classe dérivée.Typically, this object is a Binding or another BindingBase derived class. En guise d’alternative, les données brutes de tout type d’objet destiné à la liaison peuvent ê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
Une utilisation de liaison qui prend la valeur d’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
L’une des valeurs suivantes StaticResource : DynamicResourceou.One of the following: StaticResource or DynamicResource. Cette utilisation est utilisée pour faire référence à des 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 ressources XAML.See XAML Resources.

contextResourceKeycontextResourceKey
Identificateur de clé pour l’objet 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
Propriétés de métadonnées définies surtrueMetadata properties set to true Inherits

S’applique à