FrameworkElement.DataContext Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt de gegevenscontext voor een element opgehaald of ingesteld wanneer het deelneemt aan gegevensbinding.
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
Waarde van eigenschap
Het object dat moet worden gebruikt als gegevenscontext.
- Kenmerken
Voorbeelden
In het volgende voorbeeld ziet u hoe een gegevenscontext op een binding reageert en de informatie bevat die de specifieke waarden van afhankelijke eigenschappen definieert.
<Window.Resources>
<src:LeagueList x:Key="MyList" />
</Window.Resources>
<DockPanel DataContext="{Binding Source={StaticResource MyList}}">
Opmerkingen
Gegevenscontext is een concept waarmee elementen informatie kunnen overnemen van hun bovenliggende elementen over de gegevensbron die wordt gebruikt voor binding, evenals andere kenmerken van de binding, zoals het pad.
Gegevenscontext kan rechtstreeks worden ingesteld op een .NET-object, waarbij de bindingen worden geëvalueerd op eigenschappen van dat object. U kunt de gegevenscontext ook instellen op een DataSourceProvider object.
Deze afhankelijkheidseigenschap neemt eigenschapswaarden over. Als er onderliggende elementen zijn zonder andere waarden die DataContext zijn ingesteld via lokale waarden of stijlen, wordt de waarde ingesteld op de DataContext waarde van het dichtstbijzijnde bovenliggende element waaraan deze waarde is toegewezen.
U kunt ook een van de volgende eigenschappen van de Binding klasse gebruiken om de bindingsbron expliciet op te geven:
- <xref:System.Windows.Data.Binding.ElementName*>.
- <xref:System.Windows.Data.Binding.Source*>.
- <xref:System.Windows.Data.Binding.RelativeSource*>.
Zie Voor meer informatie : Geef de bindingsbron op.
In XAML DataContext wordt meestal ingesteld als een Binding declaratie. U kunt de syntaxis van het eigenschapselement of de syntaxis van het kenmerk gebruiken. De syntaxis van het kenmerk wordt weergegeven in het voorbeeld op deze pagina. U kunt ook code gebruiken om in te stellen DataContext.
DataContext is een bindbare eigenschap om scenario's te vergemakkelijken waarbij de ene context aan een andere context kan worden gebonden. Als u echter bindt DataContext, moet u ervoor zorgen dat u geen kringverwijzingen maakt (bind DataContext geen aan zichzelf, wat mogelijk is vanwege de eigenschapswaardeovername van de DataContext eigenschap).
Gebruik van XAML-eigenschapselement
<object>
<object.DataContext>
<dataContextObject />
</object.DataContext>
</object>
XAML-kenmerkgebruik
<object DataContext="bindingUsage"/>
– of –
<object DataContext="{resourceExtension contextResourceKey}"/>
XAML-waarden
dataContextObject Een rechtstreeks ingesloten object dat fungeert als gegevenscontext voor bindingen binnen het bovenliggende element. Dit object is doorgaans een Binding of een andere BindingBase afgeleide klasse. U kunt ook onbewerkte gegevens van elk objecttype dat is bedoeld voor binding hier plaatsen, waarbij de werkelijke bindingen later worden gedefinieerd.
bindingUsage Een bindingsgebruik dat evalueert naar een geschikte gegevenscontext. Zie Binding Markup Extension voor meer informatie.
resourceExtension Een van de volgende opties: StaticResource of DynamicResource. Dit gebruik wordt gebruikt bij het verwijzen naar onbewerkte gegevens die zijn gedefinieerd als een object in resources. Zie XAML-resources.
contextResourceKey De sleutel-id voor het object dat wordt aangevraagd vanuit een ResourceDictionary.
Informatie over afhankelijkheidseigenschappen
| Item | Waarde |
|---|---|
| Id-veld | DataContextProperty |
Eigenschappen van metagegevens ingesteld op true |
Inherits |