FrameworkElement.DataContext FrameworkElement.DataContext FrameworkElement.DataContext FrameworkElement.DataContext Property

Definizione

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

Valore della proprietà

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

Esempi

Nell'esempio seguente viene illustrato come un contesto dati agisce su un'associazione e fornisce le informazioni che definiscono i valori specifici delle proprietà associate.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}}">

Commenti

Il contesto dei dati è un concetto che consente agli elementi di ereditare informazioni dagli elementi padre sull'origine dati usata 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 data 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 .NET, con le associazioni che valutano le proprietà di tale oggetto.Data context can be set directly to a .NET object, with the bindings evaluating to properties of that object. In alternativa, è possibile impostare il contesto dei dati su DataSourceProvider un oggetto.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 altri valori per DataContext stabiliti tramite valori o stili locali, il sistema di proprietà imposterà il valore in DataContext modo che sia il valore dell'elemento padre più vicino a cui è assegnato questo valore.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.

In alternativa, è possibile utilizzare una delle seguenti proprietà della Binding classe per specificare l'origine del binding in modo esplicito:Alternatively, you can use one of the following properties of the Binding class to specify the binding source explicitly:

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

Per altre informazioni, vedere Procedura: Specificare l'originedel binding.For more information, see How to: Specify the Binding Source.

In XAML, DataContext viene in genere impostato come una Binding dichiarazione.In XAML, DataContext is most typically set 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 usare il codice per DataContextimpostare.You can also use code to set DataContext.

DataContextè una proprietà associabile per semplificare gli scenari in cui un contesto può essere associato a un altro.DataContext is a bindable property to facilitate scenarios where one context might be bound to another. Tuttavia, se si esegue l' DataContextassociazione a, prestare attenzione a non creare riferimenti di associazione circolari ( DataContext non associare un a se stesso, che è possibile eseguire a causa della natura di ereditarietà del DataContext valore della proprietà).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).

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

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

Uso della sintassi XAML per gli attributiXAML Attribute Usage

<object DataContext="bindingUsage"/>  

-oppure--or-

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

Valori 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 è Binding o un' BindingBase altra classe derivata.Typically, this object is a Binding or another BindingBase derived class. In alternativa, è possibile inserire i dati non elaborati di un tipo di oggetto destinato all'associazione, con le associazioni effettive definite in un secondo momento.Alternatively, raw data of any 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: StaticResource o. DynamicResourceOne 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 ResourceDictionaryoggetto.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 sutrueMetadata properties set to true Inherits

Si applica a