Aracılığıyla paylaş


FrameworkElement.DataContext Özellik

Tanım

Veri bağlamaya katıldığında öğenin veri bağlamını alır veya ayarlar.

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

Özellik Değeri

Veri bağlamı olarak kullanılacak nesne.

Öznitelikler

Örnekler

Aşağıdaki örnek, bir veri bağlamının bağlama üzerinde nasıl davrandığını gösterir ve ilişkili özelliklerin belirli değerlerini tanımlayan bilgileri sağlar.

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

Açıklamalar

Veri bağlamı , öğelerin bağlama için kullanılan veri kaynağı ve yol gibi bağlamanın diğer özellikleri hakkında üst öğelerinden bilgi devralmasına olanak tanıyan bir kavramdır.

Veri bağlamı doğrudan bir .NET nesnesine ayarlanabilir ve bağlamalar bu nesnenin özelliklerine göre değerlendirilir. Alternatif olarak, veri bağlamını bir DataSourceProvider nesne olarak ayarlayabilirsiniz.

Bu bağımlılık özelliği özellik değerlerini devralır. Yerel değerler veya stiller aracılığıyla oluşturulacak DataContext başka değerleri olmayan alt öğeler varsa, özellik sistemi değeri bu değer atanmış en yakın üst öğenin değeri olarak DataContext ayarlar.

Alternatif olarak, bağlama kaynağını açıkça belirtmek için sınıfının aşağıdaki özelliklerinden Binding birini kullanabilirsiniz:

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

Daha fazla bilgi için bkz . Nasıl yapılır: Bağlama Kaynağını Belirtme.

XAML'de genellikle DataContext bir Binding bildirim olarak ayarlanır. Özellik öğesi söz dizimlerini veya öznitelik söz dizimlerini kullanabilirsiniz. Öznitelik söz dizimi bu sayfadaki örnekte gösterilmiştir. Ayarlamak için DataContextkod da kullanabilirsiniz.

DataContext , bir bağlamı başka bir bağlamla ilişkili olabilecek senaryoları kolaylaştırmak için bağlanabilir bir özelliktir. Ancak, öğesine DataContextbağlarsanız, döngüsel bağlama başvuruları oluşturmamaya dikkat edin (özelliğin özellik değeri devralma özelliği nedeniyle bunu yapmak mümkün olan kendisine DataContext bağlamayın DataContext ).

XAML Özellik Öğesi Kullanımı

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

XAML Öznitelik Kullanımı

<object DataContext="bindingUsage"/>

-veya-

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

XAML Değerleri

dataContextObject Üst öğe içindeki bağlamalar için veri bağlamı işlevi görecek doğrudan eklenmiş nesne. Bu nesne genellikle bir veya başka BindingBase bir Binding türetilmiş sınıftır. Alternatif olarak, bağlama için hedeflenen herhangi bir nesne türünün ham verileri daha sonra tanımlanan gerçek bağlamalarla buraya yerleştirilebilir.

bindingUsage Uygun bir veri bağlamı olarak değerlendirilen bağlama kullanımı. Ayrıntılar için bkz . Biçimlendirme Uzantısını Bağlama.

resourceExtension Aşağıdakilerden biri: StaticResource veya DynamicResource. Bu kullanım, kaynaklarda nesne olarak tanımlanan ham verilere başvururken kullanılır. Bkz . XAML Kaynakları.

contextResourceKey içinden istenen ResourceDictionarynesnenin anahtar tanımlayıcısı.

Bağımlılık Özelliği Bilgileri

Öğe Değer
Tanımlayıcı alanı DataContextProperty
Meta veri özellikleri olarak ayarlandı true Inherits

Şunlara uygulanır