DataTemplate Kelas
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.
Menjelaskan struktur visual objek data.
public ref class DataTemplate : System::Windows::FrameworkTemplate
[System.Windows.Markup.DictionaryKeyProperty("DataTemplateKey")]
public class DataTemplate : System.Windows.FrameworkTemplate
[<System.Windows.Markup.DictionaryKeyProperty("DataTemplateKey")>]
type DataTemplate = class
inherit FrameworkTemplate
Public Class DataTemplate
Inherits FrameworkTemplate
- Warisan
- Turunan
- Atribut
Contoh
Contoh berikut menunjukkan cara membuat sebaris DataTemplate .
DataTemplate menentukan bahwa setiap item data muncul sebagai tiga TextBlock elemen dalam StackPanel. Dalam contoh ini, objek data adalah kelas yang disebut Task. Perhatikan bahwa setiap TextBlock elemen dalam templat ini terikat ke properti Task kelas.
<ListBox Width="400" Margin="10"
ItemsSource="{Binding Source={StaticResource myTodoList}}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=TaskName}" />
<TextBlock Text="{Binding Path=Description}"/>
<TextBlock Text="{Binding Path=Priority}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Lebih umum untuk menentukan DataTemplate di bagian sumber daya sehingga dapat menjadi objek yang dapat digunakan kembali, seperti dalam contoh berikut:
<Window.Resources>
<DataTemplate x:Key="myTaskTemplate">
<StackPanel>
<TextBlock Text="{Binding Path=TaskName}" />
<TextBlock Text="{Binding Path=Description}"/>
<TextBlock Text="{Binding Path=Priority}"/>
</StackPanel>
</DataTemplate>
</Window.Resources>
Sekarang Anda dapat menggunakan myTaskTemplate sebagai sumber daya, seperti dalam contoh berikut:
<ListBox Width="400" Margin="10"
ItemsSource="{Binding Source={StaticResource myTodoList}}"
ItemTemplate="{StaticResource myTaskTemplate}"/>
Untuk sampel lengkapnya, lihat Pengenalan Sampel Templat Data.
Keterangan
Anda menggunakan DataTemplate untuk menentukan visualisasi objek data Anda. DataTemplate objek sangat berguna ketika Anda mengikat ItemsControl seperti ListBox ke seluruh koleksi. Tanpa instruksi tertentu, menampilkan ListBox representasi string objek dalam koleksi. Dalam hal ini, Anda dapat menggunakan DataTemplate untuk menentukan tampilan objek data Anda. Konten Anda DataTemplate menjadi struktur visual objek data Anda.
Untuk diskusi mendalam, lihat Gambaran Umum Templat Data.
Konstruktor
| Nama | Deskripsi |
|---|---|
| DataTemplate() |
Menginisialisasi instans baru dari kelas DataTemplate. |
| DataTemplate(Object) |
Menginisialisasi instans DataTemplate baru kelas dengan properti yang ditentukan DataType . |
Properti
| Nama | Deskripsi |
|---|---|
| DataTemplateKey |
Mendapatkan kunci default dari DataTemplate. |
| DataType |
Mendapatkan atau mengatur jenis yang DataTemplate dimaksudkan ini. |
| Dispatcher |
Dispatcher Mendapatkan ini DispatcherObject dikaitkan dengan. (Diperoleh dari DispatcherObject) |
| HasContent |
Mendapatkan nilai yang menunjukkan apakah templat ini memiliki konten yang dioptimalkan. (Diperoleh dari FrameworkTemplate) |
| IsSealed |
Mendapatkan nilai yang menunjukkan apakah objek ini dalam status tidak dapat diubah sehingga tidak dapat diubah. (Diperoleh dari FrameworkTemplate) |
| Resources |
Mendapatkan atau mengatur kumpulan sumber daya yang dapat digunakan dalam cakupan templat ini. (Diperoleh dari FrameworkTemplate) |
| Template |
Mendapatkan atau mengatur referensi ke objek yang merekam atau memutar simpul XAML untuk templat saat templat ditentukan atau diterapkan oleh penulis. (Diperoleh dari FrameworkTemplate) |
| Triggers |
Mendapatkan kumpulan pemicu yang menerapkan nilai properti atau melakukan tindakan berdasarkan satu atau beberapa kondisi. |
| VisualTree |
Mendapatkan atau mengatur simpul akar templat. (Diperoleh dari FrameworkTemplate) |
Metode
| Nama | Deskripsi |
|---|---|
| CheckAccess() |
Menentukan apakah utas panggilan memiliki akses ke ini DispatcherObject. (Diperoleh dari DispatcherObject) |
| Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
| FindName(String, FrameworkElement) |
Menemukan elemen yang terkait dengan nama yang ditentukan dalam templat ini. (Diperoleh dari FrameworkTemplate) |
| GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
| GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
| LoadContent() |
Memuat konten templat sebagai instans objek dan mengembalikan elemen akar konten. (Diperoleh dari FrameworkTemplate) |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| RegisterName(String, Object) |
Mendaftarkan pasangan nama/objek baru ke dalam cakupan nama saat ini. (Diperoleh dari FrameworkTemplate) |
| Seal() |
Mengunci templat sehingga tidak dapat diubah. (Diperoleh dari FrameworkTemplate) |
| ShouldSerializeResources(XamlDesignerSerializationManager) |
Mengembalikan nilai yang menunjukkan apakah proses serialisasi harus menserialisasikan nilai Resources properti pada instans kelas ini. (Diperoleh dari FrameworkTemplate) |
| ShouldSerializeVisualTree() |
Mengembalikan nilai yang menunjukkan apakah proses serialisasi harus menserialisasikan nilai VisualTree properti pada instans kelas ini. (Diperoleh dari FrameworkTemplate) |
| ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
| UnregisterName(String) |
Menghapus pemetaan nama/objek dari namescope XAML. (Diperoleh dari FrameworkTemplate) |
| ValidateTemplatedParent(FrameworkElement) |
Memeriksa induk yang di-template terhadap sekumpulan aturan. |
| VerifyAccess() |
Memberlakukan bahwa utas panggilan memiliki akses ke ini DispatcherObject. (Diperoleh dari DispatcherObject) |
Implementasi Antarmuka Eksplisit
| Nama | Deskripsi |
|---|---|
| INameScope.FindName(String) |
Mengembalikan objek yang memiliki nama pengidentifikasi yang disediakan. (Diperoleh dari FrameworkTemplate) |
| IQueryAmbient.IsAmbientPropertyAvailable(String) |
Mengkueri apakah properti sekitar tertentu tersedia dalam cakupan saat ini. (Diperoleh dari FrameworkTemplate) |