FrameworkElement.DataContext Vlastnost

Definice

Získá nebo nastaví kontext dat pro prvek, když se účastní datové vazby.

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

Hodnota vlastnosti

Object

Objekt, který se má použít jako kontext dat.

Atributy

Příklady

Následující příklad ukazuje, jak kontext dat funguje na vazbě a poskytuje informace, které definují konkrétní hodnoty vázaných vlastností.

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

Poznámky

Kontext dat je koncept, který umožňuje elementům dědit informace z nadřazených prvků o zdroji dat, který se používá pro vazbu, a také další charakteristiky vazby, jako je cesta.

Kontext dat lze nastavit přímo na objekt .NET, přičemž vazby vyhodnocují vlastnosti tohoto objektu. Můžete také nastavit kontext dat na DataSourceProvider objekt.

Tato vlastnost závislosti dědí hodnoty vlastností. Pokud existují podřízené prvky bez jiných hodnot pro DataContext vytvoření prostřednictvím místních hodnot nebo stylů, systém vlastností nastaví hodnotu na DataContext hodnotu nejbližšího nadřazeného prvku s touto přiřazenou hodnotou.

Alternativně můžete k explicitnímu zadání zdroje vazby použít jednu z následujících vlastností Binding třídy:

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

Další informace naleznete v tématu Postupy: Určení zdroje vazby.

V jazyce XAML DataContext je nejčastěji nastaven jako Binding deklarace. Můžete použít syntaxi elementu vlastnosti nebo syntaxi atributu. Syntaxe atributu je znázorněna v příkladu na této stránce. Můžete také použít kód k nastavení DataContext.

DataContext je svázatelná vlastnost, která usnadňuje scénáře, kdy může být jeden kontext vázán na jiný. Pokud však svážete DataContextvazby , dávejte pozor, abyste nevytvořli cyklické vazby (nevyvazujte DataContext se sám na sebe, což je možné provést z důvodu dědičnosti hodnoty vlastnosti povahy DataContext vlastnosti).

Použití elementu vlastnosti XAML

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

Použití atributu XAML

<object DataContext="bindingUsage"/>  

-nebo-

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

Hodnoty XAML

dataContextObject
Přímo vložený objekt, který slouží jako kontext dat pro všechny vazby v rámci nadřazeného elementu. Obvykle je tento objekt nebo Binding jiná BindingBase odvozená třída. Případně se zde mohou umístit nezpracovaná data libovolného typu objektu určeného pro vazbu se skutečnými vazbami definovanými později.

bindingUsage
Použití vazby, které se vyhodnotí jako odpovídající kontext dat. Podrobnosti najdete v tématu Rozšíření značek vazby.

resourceExtension
Jedna z následujících možností: StaticResource nebo DynamicResource. Toto použití se používá při odkazování na nezpracovaná data definovaná jako objekt v prostředcích. Viz prostředky XAML.

contextResourceKey
Identifikátor klíče požadovaného objektu v rámci objektu ResourceDictionary.

Informace o vlastnosti závislosti

Pole identifikátoru DataContextProperty
Vlastnosti metadat nastavené na true Inherits

Platí pro