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ını sağlayan 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 bu değerin atandığı en yakın üst öğenin değeri olarak DataContext değeri 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%2A>.
- <xref:System.Windows.Data.Binding.Source%2A>.
- <xref:System.Windows.Data.Binding.RelativeSource%2A>.
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 DataContextiçin kod 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. Genellikle, bu nesne bir veya başka BindingBase türetilmiş Binding bir 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
Tanımlayıcı alanı | DataContextProperty |
Meta veri özellikleri olarak ayarlandı true |
Inherits |