FrameworkElement.DataContext Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia kontekst danych dla elementu, gdy uczestniczy w powiązaniu danych.
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
Wartość właściwości
Obiekt, który ma być używany jako kontekst danych.
- Atrybuty
Przykłady
W poniższym przykładzie pokazano, jak kontekst danych działa na powiązaniu i zawiera informacje definiujące określone wartości powiązanych właściwości.
<Window.Resources>
<src:LeagueList x:Key="MyList" />
</Window.Resources>
<DockPanel DataContext="{Binding Source={StaticResource MyList}}">
Uwagi
Kontekst danych to koncepcja, która umożliwia elementom dziedziczenie informacji z elementów nadrzędnych dotyczących źródła danych używanego do powiązania, a także innych cech powiązania, takich jak ścieżka.
Kontekst danych można ustawić bezpośrednio na obiekt .NET z powiązaniami ocenianymi na właściwości tego obiektu. Alternatywnie można ustawić kontekst danych na DataSourceProvider obiekt.
Ta właściwość zależności dziedziczy wartości właściwości. Jeśli istnieją elementy podrzędne bez innych wartości ustanowionych DataContext za pomocą wartości lokalnych lub stylów, system właściwości ustawi wartość jako DataContext wartość najbliższego elementu nadrzędnego z przypisaną tą wartością.
Alternatywnie możesz użyć jednej z następujących właściwości Binding klasy, aby jawnie określić źródło powiązania:
- <xref:System.Windows.Data.Binding.ElementName%2A>.
- <xref:System.Windows.Data.Binding.Source%2A>.
- <xref:System.Windows.Data.Binding.RelativeSource%2A>.
Aby uzyskać więcej informacji, zobacz How to: Specify the Binding Source (Instrukcje: określanie źródła powiązania).
W języku XAML DataContext najczęściej jest ustawiana Binding jako deklaracja. Można użyć składni elementu właściwości lub składni atrybutu. Składnia atrybutów jest wyświetlana w przykładzie na tej stronie. Możesz również użyć kodu, aby ustawić wartość DataContext.
DataContext to właściwość z możliwością powiązania, która ułatwia scenariusze, w których jeden kontekst może być powiązany z innym. Jednak w przypadku powiązania z DataContextelementem należy zachować ostrożność, aby nie tworzyć odwołań do powiązań cyklicznych (nie wiążą DataContext się z samym sobą, co można zrobić ze względu na charakter DataContext dziedziczenia wartości właściwości właściwości).
Użycie elementu właściwości języka XAML
<object>
<object.DataContext>
<dataContextObject />
</object.DataContext>
</object>
Użycie atrybutu języka XAML
<object DataContext="bindingUsage"/>
-lub-
<object DataContext="{resourceExtension contextResourceKey}"/>
Wartości XAML
dataContextObject
Bezpośrednio osadzony obiekt, który służy jako kontekst danych dla wszelkich powiązań w elemecie nadrzędnym. Zazwyczaj ten obiekt jest klasą pochodną Binding lub inną BindingBase . Alternatywnie w tym miejscu można umieścić nieprzetworzone dane dowolnego typu obiektu przeznaczonego do powiązania z rzeczywistymi powiązaniami zdefiniowanymi później.
bindingUsage
Użycie powiązania, które ocenia odpowiedni kontekst danych. Aby uzyskać szczegółowe informacje, zobacz Binding Markup Extension (Powiązanie rozszerzenia znaczników).
resourceExtension
Jeden z następujących elementów: StaticResource
lub DynamicResource
. To użycie jest używane podczas odwoływania się do danych pierwotnych zdefiniowanych jako obiekt w zasobach. Zobacz Zasoby XAML.
contextResourceKey
Identyfikator klucza obiektu żądanego z poziomu obiektu ResourceDictionary.
Informacje dotyczące właściwości zależności
Pole identyfikatora | DataContextProperty |
Właściwości metadanych ustawione na true |
Inherits |