Udostępnij za pośrednictwem


FrameworkElement.DataContext Właściwość

Definicja

Pobiera lub ustawia kontekst danych dla elementu, gdy uczestniczy w powiązaniu danych.

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

Wartość właściwości

Object

Obiekt, który ma być używany jako kontekst danych.

Atrybuty

Przykłady

W poniższym przykładzie pokazano, jak kontekst danych działa na powiązaniu i zawiera informacje definiujące określone wartości powiązanych właściwości.

<Window.Resources>
  <src:LeagueList x:Key="MyList" />
</Window.Resources>
<DockPanel DataContext="{Binding Source={StaticResource MyList}}">

Uwagi

Kontekst danych to koncepcja, która umożliwia elementom dziedziczenie informacji z elementów nadrzędnych dotyczących źródła danych używanego do powiązania, a także innych cech powiązania, takich jak ścieżka.

Kontekst danych można ustawić bezpośrednio na obiekt .NET z powiązaniami ocenianymi na właściwości tego obiektu. Alternatywnie można ustawić kontekst danych na DataSourceProvider obiekt.

Ta właściwość zależności dziedziczy wartości właściwości. Jeśli istnieją elementy podrzędne bez innych wartości ustanowionych DataContext za pomocą wartości lokalnych lub stylów, system właściwości ustawi wartość jako DataContext wartość najbliższego elementu nadrzędnego z przypisaną tą wartością.

Alternatywnie możesz użyć jednej z następujących właściwości Binding klasy, aby jawnie określić źródło powiązania:

- <xref:System.Windows.Data.Binding.ElementName%2A>.
- <xref:System.Windows.Data.Binding.Source%2A>.
- <xref:System.Windows.Data.Binding.RelativeSource%2A>. 

Aby uzyskać więcej informacji, zobacz How to: Specify the Binding Source (Instrukcje: określanie źródła powiązania).

W języku XAML DataContext najczęściej jest ustawiana Binding jako deklaracja. Można użyć składni elementu właściwości lub składni atrybutu. Składnia atrybutów jest wyświetlana w przykładzie na tej stronie. Możesz również użyć kodu, aby ustawić wartość DataContext.

DataContext to właściwość z możliwością powiązania, która ułatwia scenariusze, w których jeden kontekst może być powiązany z innym. Jednak w przypadku powiązania z DataContextelementem należy zachować ostrożność, aby nie tworzyć odwołań do powiązań cyklicznych (nie wiążą DataContext się z samym sobą, co można zrobić ze względu na charakter DataContext dziedziczenia wartości właściwości właściwości).

Użycie elementu właściwości języka XAML

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

Użycie atrybutu języka XAML

<object DataContext="bindingUsage"/>  

-lub-

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

Wartości XAML

dataContextObject
Bezpośrednio osadzony obiekt, który służy jako kontekst danych dla wszelkich powiązań w elemecie nadrzędnym. Zazwyczaj ten obiekt jest klasą pochodną Binding lub inną BindingBase . Alternatywnie w tym miejscu można umieścić nieprzetworzone dane dowolnego typu obiektu przeznaczonego do powiązania z rzeczywistymi powiązaniami zdefiniowanymi później.

bindingUsage
Użycie powiązania, które ocenia odpowiedni kontekst danych. Aby uzyskać szczegółowe informacje, zobacz Binding Markup Extension (Powiązanie rozszerzenia znaczników).

resourceExtension
Jeden z następujących elementów: StaticResource lub DynamicResource. To użycie jest używane podczas odwoływania się do danych pierwotnych zdefiniowanych jako obiekt w zasobach. Zobacz Zasoby XAML.

contextResourceKey
Identyfikator klucza obiektu żądanego z poziomu obiektu ResourceDictionary.

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

Pole identyfikatora DataContextProperty
Właściwości metadanych ustawione na true Inherits

Dotyczy