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

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; }
[<System.Windows.Localizability(System.Windows.LocalizationCategory.NeverLocalize)>]
member this.DataContext : obj with get, set
Public Property DataContext As Object

Valeur de propriété

Object

Objet à utiliser comme contexte de données.

Attributs

Exemples

L’exemple suivant définit une liaison sur un Paragraph élément, en créant un objet de données personnalisé, en établissant cet objet comme DataContext, et en définissant le chemin de liaison sur une propriété qu’il contient.

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")

Remarques

Le 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 liaison utilisée pour la liaison, ainsi que d’autres caractéristiques de la liaison, telles que le chemin d’accès.

Le contexte de données peut être défini directement sur un objet CLR (Common Language Runtime), avec les liaisons évaluant les propriétés de cet objet. Vous pouvez également définir le contexte de données sur un DataSourceProvider objet.

Cette propriété de dépendance hérite des valeurs de propriété. S’il existe des éléments enfants sans autre valeur pour DataContext établie via des valeurs locales ou des styles, le système de propriétés définit la valeur comme valeur DataContext de l’élément parent le plus proche avec cette valeur affectée.

Vous pouvez également utiliser l’une des propriétés suivantes de la Binding classe pour spécifier explicitement la source de liaison : ElementName, Sourceou RelativeSource. Pour plus d’informations, consultez Guide pratique pour spécifier la source de liaison.

En XAML, DataContext est le plus souvent défini sur une Binding déclaration. Vous pouvez utiliser la syntaxe de l’élément de propriété ou la syntaxe d’attribut. La syntaxe d’attribut est affichée dans l’exemple de cette page. Vous pouvez également définir DataContext dans le code.

Utilisation des éléments de propriété XAML

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

Utilisation d'attributs XAML

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

Valeurs XAML

dataContextObject
Objet directement incorporé qui sert de contexte de données pour toutes les liaisons au sein de l’élément parent. En règle générale, cet objet est une Binding ou une autre BindingBase sous-classe. Les données brutes d’un type d’objet CLR destiné à la liaison peuvent également être placées ici, avec les liaisons réelles définies ultérieurement.

bindingUsage
Utilisation de liaison qui prend la valeur d’un contexte de données approprié. Pour plus d’informations, consultez Binding, extension de balisage.

resourceExtension
L’un des éléments suivants : StaticResource, ou DynamicResource. Cette utilisation est utilisée lors de la référence aux données brutes définies en tant qu’objet dans les ressources. Consultez les ressources XAML.

contextResourceKey
Identificateur de clé de l’objet demandé à partir d’un ResourceDictionary.

Informations sur les propriétés de dépendance

Champ d’identificateur DataContextProperty
Propriétés de métadonnées définies sur true Inherits

S’applique à