FrameworkElement.DataContext Tulajdonság
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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 |