FrameworkElement.DataContext Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau mengatur konteks data untuk elemen saat berpartisipasi dalam pengikatan data.
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
Nilai Properti
Objek yang digunakan sebagai konteks data.
- Atribut
Contoh
Contoh berikut menggambarkan bagaimana konteks data bertindak pada pengikatan dan menyediakan informasi yang menentukan nilai tertentu dari properti terikat.
<Window.Resources>
<src:LeagueList x:Key="MyList" />
</Window.Resources>
<DockPanel DataContext="{Binding Source={StaticResource MyList}}">
Keterangan
Konteks data adalah konsep yang memungkinkan elemen untuk mewarisi informasi dari elemen induknya tentang sumber data yang digunakan untuk pengikatan, serta karakteristik pengikatan lainnya, seperti jalur.
Konteks data dapat diatur langsung ke objek .NET, dengan pengikatan yang mengevaluasi ke properti objek tersebut. Atau, Anda dapat mengatur konteks data ke DataSourceProvider objek.
Properti dependensi ini mewarisi nilai properti. Jika ada elemen turunan tanpa nilai lain untuk DataContext ditetapkan melalui nilai atau gaya lokal, maka sistem properti akan mengatur nilai menjadi DataContext nilai elemen induk terdekat dengan nilai ini ditetapkan.
Atau, Anda dapat menggunakan salah satu properti Binding kelas berikut untuk menentukan sumber pengikatan secara eksplisit:
- <xref:System.Windows.Data.Binding.ElementName%2A>.
- <xref:System.Windows.Data.Binding.Source%2A>.
- <xref:System.Windows.Data.Binding.RelativeSource%2A>.
Untuk informasi selengkapnya, lihat Cara: Menentukan Sumber Pengikatan.
Di XAML, DataContext biasanya ditetapkan sebagai Binding deklarasi. Anda dapat menggunakan sintaks elemen properti atau sintaks atribut. Sintaks atribut ditampilkan dalam contoh di halaman ini. Anda juga dapat menggunakan kode untuk mengatur DataContext.
DataContext adalah properti yang dapat diikat untuk memfasilitasi skenario di mana satu konteks mungkin terikat ke konteks lain. Namun, jika Anda mengikat ke DataContext, berhati-hatilah untuk tidak membuat referensi pengikatan melingkar (jangan mengikat ke DataContext dirinya sendiri, yang mungkin dilakukan karena sifat DataContext warisan nilai properti).
Penggunaan Elemen Properti XAML
<object>
<object.DataContext>
<dataContextObject />
</object.DataContext>
</object>
Penggunaan Atribut XAML
<object DataContext="bindingUsage"/>
-atau-
<object DataContext="{resourceExtension contextResourceKey}"/>
Nilai XAML
dataContextObject Objek yang disematkan langsung yang berfungsi sebagai konteks data untuk pengikatan apa pun dalam elemen induk. Biasanya, objek ini adalah Binding kelas turunan atau lainnya BindingBase . Atau, data mentah dari jenis objek apa pun yang dimaksudkan untuk pengikatan dapat ditempatkan di sini, dengan pengikatan aktual yang ditentukan nanti.
bindingUsage Penggunaan pengikatan yang mengevaluasi ke konteks data yang sesuai. Untuk detailnya, lihat Mengikat Ekstensi Markup.
resourceExtension Salah satu hal berikut ini: StaticResource atau DynamicResource. Penggunaan ini digunakan saat merujuk pada data mentah yang didefinisikan sebagai objek dalam sumber daya. Lihat Sumber Daya XAML.
contextResourceKey Pengidentifikasi kunci untuk objek yang diminta dari dalam ResourceDictionary.
Informasi Properti Dependensi
| Item | Nilai |
|---|---|
| Bidang pengidentifikasi | DataContextProperty |
Properti metadata diatur ke true |
Inherits |