Nyelv

FrameworkElement.DataContext Tulajdonság

Definíció

Lekéri vagy beállítja egy elem adatkörnyezetét, amikor részt vesz az adatkötésben.

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

Tulajdonság értéke

Az adatkörnyezetként használni kívánt objektum.

Attribútumok

Példák

Az alábbi példa bemutatja, hogyan működik egy adatkörnyezet egy kötésen, és megadja a kötött tulajdonságok meghatározott értékeit meghatározó információkat.

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

Megjegyzések

Az adatkörnyezet egy olyan fogalom, amely lehetővé teszi, hogy az elemek a szülőelemeiktől örököljék a kötéshez használt adatforrás adatait, valamint a kötés egyéb jellemzőit, például az elérési utat.

Az adatkörnyezet közvetlenül .NET objektumra állítható be, és a kötések az adott objektum tulajdonságaira vannak kiértékelve. Másik lehetőségként beállíthatja az adatkörnyezetet egy DataSourceProvider objektumra.

Ez a függőségi tulajdonság örökli a tulajdonságértékeket. Ha vannak olyan gyermekelemek, amelyekhez nem tartoznak más értékek DataContext a helyi értékek vagy stílusok alapján, akkor a tulajdonságrendszer úgy állítja be az értéket, hogy az DataContext a legközelebbi szülőelem értéke legyen, amelyhez ez az érték van hozzárendelve.

Másik lehetőségként használhatja az osztály alábbi tulajdonságainak egyikét a kötés forrásának Binding explicit megadásához:

- <xref:System.Windows.Data.Binding.ElementName*>.
- <xref:System.Windows.Data.Binding.Source*>.
- <xref:System.Windows.Data.Binding.RelativeSource*>.

További információ : Útmutató: A kötés forrásának megadása.

Az XAML-ben DataContext általában deklarációként Binding van beállítva. A tulajdonságelem szintaxisát vagy attribútumszintaxisát is használhatja. Az attribútumszintaxis az ezen a lapon látható példában látható. A beállításhoz DataContextkód is használható.

DataContext egy köthető tulajdonság, amely megkönnyíti azokat a forgatókönyveket, amelyekben az egyik környezet egy másikhoz köthető. Ha azonban a kötéshez DataContextkötődik, ügyeljen arra, hogy ne hozzon létre körkörös kötési hivatkozásokat (ne kösse önmagához a kötést DataContext , ami a tulajdonság tulajdonságérték öröklési DataContext jellege miatt lehetséges).

XAML tulajdonságelem-használat

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

XAML-attribútumok használata

<object DataContext="bindingUsage"/>

-vagy-

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

XAML-értékek

dataContextObject Közvetlenül beágyazott objektum, amely adatkörnyezetként szolgál a szülőelemen belüli kötésekhez. Ez az objektum általában egy Binding vagy más BindingBase származtatott osztály. Másik lehetőségként a kötésre szánt objektumtípusok nyers adatai is elhelyezhetők itt, a tényleges kötések pedig később lesznek meghatározva.

bindingUsage A megfelelő adatkörnyezetbe kiértékelt kötéshasználat. További részletekért lásd a Kötési korrektúra bővítményt.

resourceExtension Az alábbiak egyike: StaticResource vagy DynamicResource. Ez a használat az erőforrások objektumaként definiált nyers adatokra való hivatkozáskor használatos. Lásd : XAML-erőforrások.

contextResourceKey A kért objektum kulcsazonosítója egy ResourceDictionaryadott helyről.

Függőségi tulajdonság adatai

Termék Érték
Azonosító mező DataContextProperty
Metaadat-tulajdonságok beállítása: true Inherits

A következőre érvényes: