FrameworkContentElement.DataContext FrameworkContentElement.DataContext FrameworkContentElement.DataContext FrameworkContentElement.DataContext Property

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.

Ejemplos

En el ejemplo siguiente se establece un enlace en un Paragraph elemento, creando un nuevo objeto de datos personalizado, Establece el objeto como DataContexty establecer la ruta de acceso de enlace a 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

Contexto de datos es un concepto que permite que 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.

Contexto de datos se puede establecer directamente en un Common Language Runtime (CLR)common language runtime (CLR) objeto, con los enlaces que se evalúe como 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 DataSourceProvider objeto.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 con ningún otro valor para DataContext establecido a través de valores o estilos locales, el sistema de propiedades establecerá el valor sea el 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 Binding clase para especificar explícitamente el origen de enlace: ElementName, Source, o 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 con más frecuencia se establece como un Binding declaración.In XAMLXAML, DataContext is most commonly set to as a Binding declaration. Puede usar la sintaxis de elemento de propiedad o la sintaxis de atributo.You can use either property element syntax or attribute syntax. 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"/>  
- or -  
<object DataContext="{resourceExtension contextResourceKey}"/>  

Valores XAMLXAML Values

dataContextObjectdataContextObject
Un objeto directamente incrustado que actúa como contexto de datos para todos los enlaces 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 otro BindingBase subclase.Typically, this object is a Binding or another BindingBase subclass. Como alternativa, los datos sin procesar de cualquier CLRCLR diseñado para el enlace se puede colocar aquí, con los enlaces reales definidos después del tipo de objeto.Alternatively, raw data of any CLRCLR object type intended for binding may be placed here, with the actual bindings defined later.

bindingUsagebindingUsage
Uso de enlace que se evalúa como 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: StaticResource, o DynamicResource.One of the following: StaticResource, or DynamicResource. Esto se usa cuando se hace referencia a datos sin procesar que se define como un objeto en los recursos.This usage is used when referring to raw data defined as an object in resources. Consulte recursos XAML.See XAML Resources.

contextResourceKeycontextResourceKey
El identificador de clave para el objeto que se solicita desde un 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
Establecen las propiedades de metadatos en trueMetadata properties set to true Inherits

Se aplica a