FrameworkContentElement.DataContext Özellik

Tanım

Veri bağlamasına katıldığı zaman bir öğe için veri bağlamını alır veya ayarlar.Gets or sets the data context for an element when it participates in data binding.

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

Object

Veri bağlamı olarak kullanılacak nesne.The object to use as data context.

Öznitelikler

Örnekler

Aşağıdaki örnek, bir öğe üzerinde bir bağlamayı Paragraph , yeni bir özel veri nesnesi oluşturup bu nesneyi olarak kurarak DataContext ve içindeki bir özelliğe bağlama yolunu ayarlayarak ayarlar.The following example sets a binding on a Paragraph element, by creating a new custom data object, establishing that object as DataContext, and setting the binding path to a property within it.

MyData myDataObject = new MyData();
myflowdocument.DataContext = myDataObject;
introParagraph.SetBinding(Paragraph.TagProperty, "CustomData");
Dim myDataObject As New MyData()
myflowdocument.DataContext = myDataObject
introParagraph.SetBinding(Paragraph.TagProperty, "CustomData")

Açıklamalar

Veri bağlamı , öğelerin bağlama için kullanılan bağlama kaynağı ve yol gibi bağlamanın diğer özellikleri hakkında üst öğelerinden bilgi devralmasını sağlayan bir kavramdır.Data context is a concept that allows elements to inherit information from their parent elements about the binding source that is used for binding, as well as other characteristics of the binding such as the path.

Veri bağlamı ortak dil çalışma zamanı (CLR)common language runtime (CLR) , bu nesnenin özelliklerine değerlendirme bağlamalarıyla doğrudan bir nesneye ayarlanabilir.Data context can be set directly to a ortak dil çalışma zamanı (CLR)common language runtime (CLR) object, with the bindings evaluating to properties of that object. Alternatif olarak, veri bağlamını bir nesne olarak ayarlayabilirsiniz DataSourceProvider .Alternatively, you can set the data context to a DataSourceProvider object.

Bu bağımlılık özelliği özellik değerlerini devralır.This dependency property inherits property values. DataContextYerel değerler veya stiller aracılığıyla oluşturulan diğer bir değere sahip olmayan alt öğeler varsa, özellik sistemi değeri DataContext bu değere atanmış en yakın üst öğenin değeri olacak şekilde ayarlar.If there are child elements with no other value for DataContext established through local values or styles, the property system will set the value to be the DataContext value of the nearest parent element with this value assigned.

Alternatif olarak, Binding bağlama kaynağını açıkça belirtmek için sınıfının aşağıdaki özelliklerinden birini kullanabilirsiniz: ElementName , Source , veya RelativeSource .Alternatively, you can use one of the following properties of the Binding class to specify the binding source explicitly: ElementName, Source, or RelativeSource. Daha fazla bilgi için bkz. nasıl yapılır: bağlama kaynağını belirtme.For more information, see How to: Specify the Binding Source.

XAMLXAML' De, DataContext en yaygın olarak bir bildirim olarak ayarlanmıştır Binding .In XAMLXAML, DataContext is most commonly set to as a Binding declaration. Özellik öğesi söz dizimini ya da öznitelik sözdizimini kullanabilirsiniz.You can use either property element syntax or attribute syntax. Öznitelik sözdizimi bu sayfadaki örnekte gösterilmiştir.Attribute syntax is shown in the example on this page. Ayrıca, DataContext kod içinde de ayarlayabilirsiniz.You can also set DataContext in code.

XAML Özellik Öğesi KullanımıXAML Property Element Usage

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

XAML Öznitelik KullanımıXAML Attribute Usage

<object DataContext="bindingUsage"/>  

-veya--or-

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

XAML DeğerleriXAML Values

dataContextObjectdataContextObject
Üst öğe içindeki herhangi bir bağlama için veri bağlamı olarak hizmet veren doğrudan katıştırılmış nesne.A directly embedded object that serves as data context for any bindings within the parent element. Genellikle, bu nesne bir Binding veya başka bir BindingBase alt sınıfıdır.Typically, this object is a Binding or another BindingBase subclass. Alternatif olarak, CLRCLR bağlama için tasarlanan herhangi bir nesne türünün ham verisi buraya, daha sonra tanımlanan gerçek bağlamalarla birlikte yerleştirilebilecek.Alternatively, raw data of any CLRCLR object type intended for binding may be placed here, with the actual bindings defined later.

bindingUsagebindingUsage
Uygun bir veri bağlamı için değerlendirilen bağlama kullanımı.A binding usage that evaluates to an appropriate data context. Ayrıntılar için bkz. Binding Işaretleme uzantısı.For details, see Binding Markup Extension.

resourceExtensionresourceExtension
Aşağıdakilerden biri: StaticResource , veya DynamicResource .One of the following: StaticResource, or DynamicResource. Bu kullanım, kaynaklardaki bir nesne olarak tanımlanan ham verilere başvururken kullanılır.This usage is used when referring to raw data defined as an object in resources. Bkz. xaml kaynakları.See XAML Resources.

contextResourceKeycontextResourceKey
İçinden istenen nesnenin anahtar tanımlayıcısı ResourceDictionary .The key identifier for the object being requested from within a ResourceDictionary.

Bağımlılık Özelliği BilgileriDependency Property Information

Tanımlayıcı alanıIdentifier field DataContextProperty
Meta veri özellikleri olarak ayarlandı trueMetadata properties set to true Inherits

Şunlara uygulanır