FrameworkElement.DataContext Propriété

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.

Attributs

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 objet DataSourceProvider.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 établis par le biais de valeurs ou de styles locaux, le système de propriétés définit la valeur comme étant la valeur DataContext 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 classe Binding 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="2c0e9-403"><xref:System.Windows.Data.Binding.ElementName%2A>.</span><span class="sxs-lookup"><span data-stu-id="2c0e9-403"><xref:System.Windows.Data.Binding.ElementName%2A>.</span></span>
- <span data-ttu-id="2c0e9-404"><xref:System.Windows.Data.Binding.Source%2A>.</span><span class="sxs-lookup"><span data-stu-id="2c0e9-404"><xref:System.Windows.Data.Binding.Source%2A>.</span></span>
- <span data-ttu-id="2c0e9-405"><xref:System.Windows.Data.Binding.RelativeSource%2A>.</span><span class="sxs-lookup"><span data-stu-id="2c0e9-405"><xref:System.Windows.Data.Binding.RelativeSource%2A>.</span></span> 

Pour plus d’informations, consultez Comment : spécifier la source de liaison.For more information, see How to: Specify the Binding Source.

En XAML, la DataContext est généralement définie en tant que déclaration de Binding.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 définir DataContext.You can also use code to set DataContext.

DataContext est 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 effectuez une liaison à DataContext, 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 la nature de l’héritage de la valeur de propriété de la propriété 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).

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

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

Utilisation des 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 un Binding ou une autre BindingBase 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 ou DynamicResource.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 sur trueMetadata properties set to true Inherits

S’applique à