FrameworkContentElement.DataContext Propiedad

Definición

Obtiene o establece el contexto de datos para un elemento cuando participa en un enlace de datos.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

Valor de propiedad

Objeto que se va a usar como contexto de datos.The object to use as data context.

Atributos

Ejemplos

En el ejemplo siguiente se establece un enlace en un elemento Paragraph, creando un nuevo objeto de datos personalizado, estableciendo dicho objeto como DataContexty estableciendo la ruta de acceso de enlace en una propiedad dentro de él.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")

Comentarios

El contexto de datos es un concepto que permite a los elementos heredar información de sus elementos primarios sobre el origen de enlace que se usa para el enlace, así como otras características del enlace, como la ruta de acceso.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.

El contexto de datos puede establecerse directamente en un objeto de Common Language Runtime (CLR)common language runtime (CLR), con los enlaces que se evalúan en las propiedades de ese objeto.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. Como alternativa, puede establecer el contexto de datos en un objeto DataSourceProvider.Alternatively, you can set the data context to a DataSourceProvider object.

Esta propiedad de dependencia hereda los valores de propiedad.This dependency property inherits property values. Si hay elementos secundarios sin ningún otro valor para DataContext establecidas a través de valores o estilos locales, el sistema de propiedades establecerá el valor como DataContext valor del elemento primario más cercano con este valor asignado.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.

Como alternativa, puede usar una de las siguientes propiedades de la clase Binding para especificar el origen de enlace explícitamente: 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. Para obtener más información, vea Cómo: Especifique el origen de enlace.For more information, see How to: Specify the Binding Source.

En XAMLXAML, DataContext se establece normalmente en como una declaración de Binding.In XAMLXAML, DataContext is most commonly set to as a Binding declaration. Puede usar la sintaxis de elementos de propiedad o la sintaxis de atributo.You can use either property element syntax or attribute syntax. La sintaxis de atributo se muestra en el ejemplo de esta página.Attribute syntax is shown in the example on this page. También puede establecer DataContext en el código.You can also set DataContext in code.

Uso de elementos de propiedad XAMLXAML Property Element Usage

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

Uso de atributos XAMLXAML Attribute Usage

<object DataContext="bindingUsage"/>  

O bien-or-

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

Valores XAMLXAML Values

dataContextObjectdataContextObject
Objeto incrustado directamente que actúa como contexto de datos para cualquier enlace dentro del elemento primario.A directly embedded object that serves as data context for any bindings within the parent element. Normalmente, este objeto es un Binding u otra subclase BindingBase.Typically, this object is a Binding or another BindingBase subclass. Como alternativa, los datos sin procesar de cualquier tipo de objeto CLRCLR diseñado para el enlace se pueden colocar aquí, con los enlaces reales definidos más adelante.Alternatively, raw data of any CLRCLR object type intended for binding may be placed here, with the actual bindings defined later.

bindingUsagebindingUsage
Un uso de enlace que se evalúa en un contexto de datos adecuado.A binding usage that evaluates to an appropriate data context. Para obtener más información, consulte Binding (extensión de marcado).For details, see Binding Markup Extension.

resourceExtensionresourceExtension
Uno de los siguientes: StaticResourceo DynamicResource.One of the following: StaticResource, or DynamicResource. Este uso se usa al hacer referencia a los datos sin procesar definidos como un objeto en los recursos.This usage is used when referring to raw data defined as an object in resources. Vea recursos XAML.See XAML Resources.

contextResourceKeycontextResourceKey
Identificador de clave para el objeto que se solicita desde una ResourceDictionary.The key identifier for the object being requested from within a ResourceDictionary.

Información sobre propiedades de dependenciaDependency Property Information

Campo de identificadorIdentifier field DataContextProperty
Propiedades de metadatos establecidas en trueMetadata properties set to true Inherits

Se aplica a