FrameworkElement.DataContext Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 |