FrameworkContentElement.DataContext Propiedad

Definición

Obtiene o establece el contexto de datos para un elemento cuando participa en un enlace de datos.

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

Valor de propiedad

Objeto que se va a usar como contexto de datos.

Atributos

Ejemplos

En el ejemplo siguiente se establece un enlace en un Paragraph elemento mediante la creación de un nuevo objeto de datos personalizado, el establecimiento de ese objeto como DataContexty el establecimiento de la ruta de acceso de enlace a una propiedad dentro de él.

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.

El contexto de datos se puede establecer directamente en un objeto de Common Language Runtime (CLR), con los enlaces que se evalúan como propiedades de ese objeto. Como alternativa, puede establecer el contexto de datos en un DataSourceProvider objeto .

Esta propiedad de dependencia hereda los valores de propiedad. Si hay elementos secundarios sin ningún otro valor para DataContext establecido a través de estilos o valores locales, el sistema de propiedades establecerá el valor en el DataContext valor del elemento primario más cercano con este valor asignado.

Como alternativa, puede usar una de las siguientes propiedades de la Binding clase para especificar explícitamente el origen de enlace: ElementName, Sourceo RelativeSource. Para obtener más información, vea Cómo: Especificar el origen de enlace.

En XAML, DataContext normalmente se establece en como una Binding declaración. Puede usar la sintaxis de elemento de propiedad o la sintaxis de atributo. La sintaxis de atributo se muestra en el ejemplo de esta página. También puede establecer DataContext en el código.

Uso de elementos de propiedad XAML

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

Uso de atributos XAML

<object DataContext="bindingUsage"/>  

o bien

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

Valores XAML

dataContextObject
Objeto incrustado directamente que actúa como contexto de datos para cualquier enlace dentro del elemento primario. Normalmente, este objeto es una Binding subclase u otra BindingBase . Como alternativa, los datos sin procesar de cualquier tipo de objeto CLR previsto para el enlace se pueden colocar aquí, con los enlaces reales definidos más adelante.

bindingUsage
Un uso de enlace que se evalúa como un contexto de datos adecuado. Para obtener más información, consulte Binding (extensión de marcado).

resourceExtension
Uno de los siguientes: StaticResource, o DynamicResource. Este uso se usa al hacer referencia a datos sin procesar definidos como un objeto en los recursos. Consulta Recursos XAML.

contextResourceKey
Identificador de clave del objeto que se solicita desde dentro de .ResourceDictionary

Información sobre propiedades de dependencia

Campo identificador DataContextProperty
Propiedades de metadatos establecidas en true Inherits

Se aplica a