FrameworkContentElement.DataContext Właściwość

Definicja

Pobiera lub ustawia kontekst danych dla elementu, gdy uczestniczy w powiązaniu danych.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

Wartość właściwości

Obiekt, który ma być używany jako kontekst danych.The object to use as data context.

Atrybuty

Przykłady

Poniższy przykład ustawia powiązanie dla elementu Paragraph, tworząc nowy obiekt danych niestandardowych, ustanawiając ten obiekt jako DataContexti ustawiając ścieżkę powiązania do właściwości w tym elemencie.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")

Uwagi

Kontekst danych to koncepcja, która umożliwia elementom dziedziczenie informacji z ich elementów nadrzędnych o źródle powiązania, które jest używane do wiązania, a także innych właściwości powiązania, takich jak ścieżka.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.

Kontekst danych można ustawić bezpośrednio do obiektu środowisko uruchomieniowe języka wspólnego (CLR)common language runtime (CLR), z powiązaniami ocenianymi do właściwości tego obiektu.Data context can be set directly to a środowisko uruchomieniowe języka wspólnego (CLR)common language runtime (CLR) object, with the bindings evaluating to properties of that object. Alternatywnie można ustawić kontekst danych dla DataSourceProvider obiektu.Alternatively, you can set the data context to a DataSourceProvider object.

Ta właściwość zależności dziedziczy wartości właściwości.This dependency property inherits property values. Jeśli istnieją elementy podrzędne, które nie mają żadnej wartości dla DataContext ustanowionych za pomocą lokalnych wartości lub stylów, system właściwości ustawi wartość jako wartość DataContext najbliższego elementu nadrzędnego z tą wartością.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.

Alternatywnie możesz użyć jednej z następujących właściwości klasy Binding, aby jawnie określić źródło powiązania: ElementName, Sourcelub RelativeSource.Alternatively, you can use one of the following properties of the Binding class to specify the binding source explicitly: ElementName, Source, or RelativeSource. Aby uzyskać więcej informacji, zobacz How to: Określanie źródła powiązania.For more information, see How to: Specify the Binding Source.

W XAMLXAMLDataContext jest najczęściej ustawiana jako deklaracja Binding.In XAMLXAML, DataContext is most commonly set to as a Binding declaration. Można użyć składni elementu właściwości lub składni atrybutów.You can use either property element syntax or attribute syntax. Składnia atrybutu jest pokazana w przykładzie na tej stronie.Attribute syntax is shown in the example on this page. Możesz również ustawić DataContext w kodzie.You can also set DataContext in code.

Użycie elementu właściwości języka XAMLXAML Property Element Usage

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

Użycie atrybutu języka XAMLXAML Attribute Usage

<object DataContext="bindingUsage"/>  

lub-or-

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

Wartości XAMLXAML Values

dataContextObjectdataContextObject
Obiekt bezpośrednio osadzony, który służy jako kontekst danych dla wszelkich powiązań w elemencie nadrzędnym.A directly embedded object that serves as data context for any bindings within the parent element. Zazwyczaj ten obiekt jest Binding lub inną podklasą BindingBase.Typically, this object is a Binding or another BindingBase subclass. Alternatywnie dane pierwotne dowolnego typu obiektu CLRCLR, przeznaczonego do powiązania, można umieścić tutaj, z rzeczywistymi powiązaniami zdefiniowanymi w dalszej części.Alternatively, raw data of any CLRCLR object type intended for binding may be placed here, with the actual bindings defined later.

bindingUsagebindingUsage
Użycie powiązania, które jest oceniane do odpowiedniego kontekstu danych.A binding usage that evaluates to an appropriate data context. Aby uzyskać szczegółowe informacje, zobacz Binding Markup Extension.For details, see Binding Markup Extension.

resourceExtensionresourceExtension
Jeden z następujących: StaticResourcelub DynamicResource.One of the following: StaticResource, or DynamicResource. To użycie jest używane w przypadku odwoływania się do danych pierwotnych zdefiniowanych jako obiekt w zasobach.This usage is used when referring to raw data defined as an object in resources. Zobacz zasoby XAML.See XAML Resources.

contextResourceKeycontextResourceKey
Identyfikator klucza dla obiektu, z którego żądano w ResourceDictionary.The key identifier for the object being requested from within a ResourceDictionary.

Informacje dotyczące właściwości zależnościDependency Property Information

Pole identyfikatoraIdentifier field DataContextProperty
Właściwości metadanych ustawione na trueMetadata properties set to true Inherits

Dotyczy