FrameworkElement.DataContext Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger datakontexten för ett element när det deltar i databindningen.
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
Egenskapsvärde
Objektet som ska användas som datakontext.
- Attribut
Exempel
I följande exempel visas hur en datakontext fungerar på en bindning och tillhandahåller den information som definierar de specifika värdena för bundna egenskaper.
<Window.Resources>
<src:LeagueList x:Key="MyList" />
</Window.Resources>
<DockPanel DataContext="{Binding Source={StaticResource MyList}}">
Kommentarer
Datakontext är ett begrepp som gör det möjligt för element att ärva information från sina överordnade element om datakällan som används för bindning, samt andra egenskaper för bindningen, till exempel sökvägen.
Datakontexten kan ställas in direkt på ett .NET objekt, där bindningarna utvärderas till objektets egenskaper. Du kan också ange datakontexten till ett DataSourceProvider objekt.
Den här beroendeegenskapen ärver egenskapsvärden. Om det finns underordnade element utan andra värden som DataContext har upprättats via lokala värden eller format kommer egenskapssystemet att ange värdet som värdet för DataContext det närmaste överordnade elementet med det här värdet tilldelat.
Du kan också använda någon av följande egenskaper för Binding klassen för att uttryckligen ange bindningskällan:
- <xref:System.Windows.Data.Binding.ElementName*>.
- <xref:System.Windows.Data.Binding.Source*>.
- <xref:System.Windows.Data.Binding.RelativeSource*>.
Mer information finns i Så här: Ange bindningskälla.
I XAML DataContext anges vanligtvis som en Binding deklaration. Du kan använda antingen syntax för egenskapselement eller attributsyntax. Attributsyntax visas i exemplet på den här sidan. Du kan också använda kod för att ange DataContext.
DataContext är en bindbar egenskap som underlättar scenarier där en kontext kan vara bunden till en annan. Men om du binder till DataContext, var noga med att inte skapa cirkelbindningsreferenser (bind inte en DataContext till sig själv, vilket det är möjligt att göra på grund av egenskapens arvskaraktär DataContext för egenskapsvärdet).
Användning av XAML-egenskapselement
<object>
<object.DataContext>
<dataContextObject />
</object.DataContext>
</object>
XAML-attributanvändning
<object DataContext="bindingUsage"/>
-eller-
<object DataContext="{resourceExtension contextResourceKey}"/>
XAML-värden
dataContextObject Ett direkt inbäddat objekt som fungerar som datakontext för bindningar i det överordnade elementet. Vanligtvis är det här objektet en Binding eller annan BindingBase härledd klass. Alternativt kan rådata av alla objekttyper som är avsedda för bindning placeras här, med de faktiska bindningarna definierade senare.
bindingUsage En bindningsanvändning som utvärderas till en lämplig datakontext. Mer information finns i Bindningsmarkeringstillägg.
resourceExtension Något av följande: StaticResource eller DynamicResource. Den här användningen används när du refererar till rådata som definierats som ett objekt i resurser. Se XAML-resurser.
contextResourceKey Nyckelidentifieraren för objektet som begärs inifrån en ResourceDictionary.
Information om beroendeegenskap
| Objekt | Value |
|---|---|
| Identifierarfält | DataContextProperty |
Metadataegenskaper inställda på true |
Inherits |