FrameworkContentElement.DataContext Property

Definition

Ottiene o imposta il contesto dei dati per un elemento quando partecipa al data binding.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

Property Value

Object

Oggetto da usare come contesto dei dati.The object to use as data context.

Attributes

Examples

Nell'esempio seguente viene impostata un'associazione su un elemento Paragraph, creando un nuovo oggetto dati personalizzato, definendo tale oggetto come DataContexte impostando il percorso di associazione su una proprietà al suo interno.The following example sets a binding on a Paragraph element, by creating a new custom data object, establishing that object as DataContext, and setting the binding path to a property within it.

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

Remarks

Il contesto dei dati è un concetto che consente agli elementi di ereditare informazioni dagli elementi padre sull'origine di associazione utilizzata per l'associazione, nonché altre caratteristiche dell'associazione, ad esempio il percorso.Data context is a concept that allows elements to inherit information from their parent elements about the binding source that is used for binding, as well as other characteristics of the binding such as the path.

Il contesto dei dati può essere impostato direttamente su un oggetto Common Language Runtime (CLR)common language runtime (CLR), con le associazioni che valutano le proprietà di tale oggetto.Data context can be set directly to a Common Language Runtime (CLR)common language runtime (CLR) object, with the bindings evaluating to properties of that object. In alternativa, è possibile impostare il contesto dei dati su un oggetto DataSourceProvider.Alternatively, you can set the data context to a DataSourceProvider object.

Questa proprietà di dipendenza eredita i valori della proprietà.This dependency property inherits property values. Se sono presenti elementi figlio senza altro valore per DataContext stabiliti tramite valori o stili locali, il sistema di proprietà imposterà il valore in modo che sia il valore DataContext dell'elemento padre più vicino con questo valore assegnato.If there are child elements with no other value for DataContext established through local values or styles, the property system will set the value to be the DataContext value of the nearest parent element with this value assigned.

In alternativa, è possibile utilizzare una delle seguenti proprietà della classe Binding per specificare in modo esplicito l'origine del binding: ElementName, Sourceo RelativeSource.Alternatively, you can use one of the following properties of the Binding class to specify the binding source explicitly: ElementName, Source, or RelativeSource. Per altre informazioni, vedere procedura: specificare l'origine del binding.For more information, see How to: Specify the Binding Source.

In XAMLXAMLDataContext viene generalmente impostata su come dichiarazione di Binding.In XAMLXAML, DataContext is most commonly set to as a Binding declaration. È possibile utilizzare la sintassi dell'elemento proprietà o la sintassi dell'attributo.You can use either property element syntax or attribute syntax. La sintassi dell'attributo è illustrata nell'esempio in questa pagina.Attribute syntax is shown in the example on this page. È anche possibile impostare DataContext nel codice.You can also set DataContext in code.

Utilizzo della sintassi XAML per elementi proprietàXAML Property Element Usage

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

Utilizzo della sintassi XAML per attributiXAML Attribute Usage

<object DataContext="bindingUsage"/>  

-oppure--or-

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

Valor XAMLXAML Values

dataContextObjectdataContextObject
Oggetto incorporato direttamente che funge da contesto dati per qualsiasi binding all'interno dell'elemento padre.A directly embedded object that serves as data context for any bindings within the parent element. In genere, questo oggetto è un Binding o un'altra sottoclasse BindingBase.Typically, this object is a Binding or another BindingBase subclass. In alternativa, è possibile inserire i dati non elaborati di qualsiasi tipo di oggetto CLRCLR destinati all'associazione, con le associazioni effettive definite in un secondo momento.Alternatively, raw data of any CLRCLR object type intended for binding may be placed here, with the actual bindings defined later.

bindingUsagebindingUsage
Utilizzo dell'associazione che restituisce un contesto dati appropriato.A binding usage that evaluates to an appropriate data context. Per informazioni dettagliate, vedere Estensione di markup Binding.For details, see Binding Markup Extension.

resourceExtensionresourceExtension
Uno dei seguenti: StaticResourceo DynamicResource.One of the following: StaticResource, or DynamicResource. Questo utilizzo viene utilizzato quando si fa riferimento a dati non elaborati definiti come oggetto nelle risorse.This usage is used when referring to raw data defined as an object in resources. Vedere risorse XAML.See XAML Resources.

contextResourceKeycontextResourceKey
Identificatore di chiave per l'oggetto richiesto dall'interno di un ResourceDictionary.The key identifier for the object being requested from within a ResourceDictionary.

Informazioni proprietà di dipendenzaDependency Property Information

Campo identificatoreIdentifier field DataContextProperty
Proprietà dei metadati impostate su trueMetadata properties set to true Inherits

Applies to