FrameworkContentElement.DataContext Proprietà

Definizione

Ottiene o imposta il contesto dei dati per un elemento quando partecipa al 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; }
[<System.Windows.Localizability(System.Windows.LocalizationCategory.NeverLocalize)>]
member this.DataContext : obj with get, set
Public Property DataContext As Object

Valore della proprietà

Object

Oggetto da usare come contesto dei dati.

Attributi

Esempio

Nell'esempio seguente viene impostata un'associazione su un Paragraph elemento, creando un nuovo oggetto dati personalizzato, stabilendo tale oggetto come DataContexte impostando il percorso di associazione su una proprietà al suo interno.

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

Commenti

Il contesto dei dati è un concetto che consente agli elementi di ereditare informazioni dai relativi elementi padre sull'origine di associazione usata per l'associazione, nonché altre caratteristiche dell'associazione, ad esempio il percorso.

Il contesto dei dati può essere impostato direttamente su un oggetto CLR (Common Language Runtime), con le associazioni che valutano le proprietà di tale oggetto. In alternativa, è possibile impostare il contesto dati su un DataSourceProvider oggetto .

Questa proprietà di dipendenza eredita i valori delle proprietà. Se sono presenti elementi figlio senza alcun altro valore per DataContext stabilito tramite valori o stili locali, il sistema di proprietà imposterà il valore DataContext come valore dell'elemento padre più vicino con questo valore assegnato.

In alternativa, è possibile usare una delle proprietà seguenti della Binding classe per specificare l'origine di associazione in modo esplicito: ElementName, Sourceo RelativeSource. Per altre informazioni, vedere Procedura: Specificare l'origine dell'associazione.

In XAML, DataContext è più comunemente impostato su come Binding dichiarazione. È possibile usare la sintassi degli elementi di proprietà o la sintassi degli attributi. La sintassi degli attributi è illustrata nell'esempio in questa pagina. È anche possibile impostare DataContext nel codice.

Utilizzo della sintassi XAML per elementi proprietà

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

Uso della sintassi XAML per gli attributi

<object DataContext="bindingUsage"/>  

-oppure-

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

Valori XAML

dataContextObject
Oggetto direttamente incorporato che funge da contesto dati per qualsiasi associazione all'interno dell'elemento padre. In genere, questo oggetto è una Binding o un'altra BindingBase sottoclasse. In alternativa, i dati non elaborati di qualsiasi tipo di oggetto CLR destinato all'associazione possono essere inseriti qui, con le associazioni effettive definite in un secondo momento.

bindingUsage
Utilizzo dell'associazione che restituisce un contesto dati appropriato. Per informazioni dettagliate, vedere Estensione di markup Binding.

resourceExtension
Uno dei seguenti: StaticResourceo DynamicResource. Questo utilizzo viene usato quando si fa riferimento a dati non elaborati definiti come oggetto nelle risorse. Vedi Risorse XAML.

contextResourceKey
Identificatore di chiave per l'oggetto richiesto dall'interno di un oggetto ResourceDictionary.

Informazioni proprietà di dipendenza

Campo Identificatore DataContextProperty
Proprietà dei metadati impostate su true Inherits

Si applica a