Sdílet prostřednictvím


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

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 prvkům dědit informace z nadřazených prvků o zdroji dat, který se používá pro vazbu, a také další vlastnosti vazby, jako je cesta.

Kontext dat lze nastavit přímo na objekt .NET, přičemž vazby vyhodnocují vlastnosti tohoto objektu. Případně můžete nastavit kontext dat na DataSourceProvider objekt.

Tato vlastnost závislosti dědí hodnoty vlastností. Pokud existují podřízené elementy bez dalších hodnot vytvořených DataContext 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 použít jednu z následujících vlastností Binding třídy k explicitnímu určení zdroje vazby:

- <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 obvykle nastavena Binding jako deklarace. Můžete použít syntaxi elementu vlastnosti nebo syntaxi atributu. Syntaxe atributu je zobrazena v příkladu na této stránce. Můžete také použít kód k nastavení DataContext.

DataContext je vazebná 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ří cyklické vazby odkazy (nevázat DataContext se k sobě, 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 Binding tento objekt nebo jiná odvozená BindingBase třída. Případně mohou být zde umístěna 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 vazeb.

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

Položka Hodnota
Pole Identifikátor DataContextProperty
Vlastnosti metadat nastavené na true Inherits

Platí pro