Bagikan melalui


Model Konten WPF

Windows Presentation Foundation (WPF) adalah platform presentasi yang menyediakan banyak kontrol dan jenis seperti kontrol yang tujuan utamanya adalah untuk menampilkan berbagai jenis konten. Untuk menentukan kontrol mana yang akan digunakan atau kontrol mana yang akan berasal, Anda harus memahami jenis objek yang dapat ditampilkan oleh kontrol tertentu.

Topik ini meringkas con mode tenda l untuk kontrol WPF dan jenis seperti kontrol. Con mode tenda l menjelaskan konten apa yang dapat digunakan dalam kontrol. Topik ini juga mencantumkan properti konten untuk setiap con mode tenda l. Properti konten adalah properti yang digunakan untuk menyimpan konten objek.

Kelas yang Berisi Konten Arbitrer

Beberapa kontrol dapat berisi objek dari jenis apa pun, seperti string, DateTime objek, atau UIElement yang merupakan kontainer untuk item tambahan. Misalnya, Button dapat berisi gambar dan beberapa teks; atau CheckBox dapat berisi nilai DateTime.Now.

WPF memiliki empat kelas yang dapat berisi konten arbitrer. Tabel berikut mencantumkan kelas, yang diwarisi dari Control.

Kelas yang berisi konten arbitrer Konten
ContentControl Satu objek arbitrer.
HeaderedContentControl Header dan satu item, keduanya adalah objek arbitrer.
ItemsControl Kumpulan objek arbitrer.
HeaderedItemsControl Header dan kumpulan item, yang semuanya merupakan objek arbitrer.

Kontrol yang mewarisi dari kelas-kelas ini dapat berisi jenis konten yang sama dan memperlakukan konten dengan cara yang sama. Ilustrasi berikut menunjukkan satu kontrol dari setiap con mode tenda l yang berisi gambar dan beberapa teks:

Screenshot that shows four different controls, one from each content model.

Kontrol yang Berisi Objek Arbitrer Tunggal

Kelas ContentControl berisi satu konten arbitrer. Properti kontennya adalah Content. Kontrol berikut mewarisi dan ContentControl menggunakan con mode tenda l:

Ilustrasi berikut menunjukkan empat tombol yang Content diatur ke string, DateTime objek, Rectangle, dan Panel yang berisi Ellipse dan TextBlock:

Screenshot that shows four buttons with different content types.

Untuk contoh cara mengatur Content properti, lihat ContentControl.

Kontrol yang Berisi Header dan Objek Arbitrer Tunggal

Kelas HeaderedContentControl mewarisi dari ContentControl dan menampilkan konten dengan header. Ini mewarisi properti konten, Content, dari ContentControl dan mendefinisikan properti yang berjenis HeaderObject; oleh karena itu, keduanya dapat menjadi objek arbitrer.

Kontrol berikut mewarisi dan HeaderedContentControl menggunakan con mode tenda l:

Ilustrasi berikut menunjukkan dua TabItem objek. yang pertama TabItem memiliki UIElement objek sebagai Header dan Content. Header diatur ke yang StackPanel berisi Ellipse dan TextBlock. Content diatur ke yang StackPanel berisi TextBlock dan Label. Yang kedua TabItem memiliki string di Header dan TextBlock di Content.

TabControl that uses different types in the Header property.

Untuk contoh cara membuat TabItem objek, lihat HeaderedContentControl.

Kontrol yang Berisi Kumpulan Objek Arbitrer

Kelas ItemsControl mewarisi dari Control dan dapat berisi beberapa item, seperti string, objek, atau elemen lainnya. Properti kontennya adalah ItemsSource dan Items. ItemsSource biasanya digunakan untuk mengisi dengan pengumpulan ItemsControl data. Jika Anda tidak ingin menggunakan koleksi untuk mengisi ItemsControl, Anda dapat menambahkan item dengan menggunakan Items properti .

Kontrol berikut mewarisi dan ItemsControl menggunakan con mode tenda l:

Ilustrasi berikut ini memperlihatkan ListBox yang berisi tipe item ini:

Screenshot that shows a ListBox with four types of content.

Kontrol yang Berisi Header dan Kumpulan Objek Arbitrer

Kelas HeaderedItemsControl mewarisi dari ItemsControl dan dapat berisi beberapa item, seperti string, objek, atau elemen lainnya, dan header. Ini mewarisi ItemsControl properti konten, , ItemsSourcedan Items, dan mendefinisikan Header properti yang dapat menjadi objek arbitrer.

Kontrol berikut mewarisi dan HeaderedItemsControl menggunakan con mode tenda l:

Kelas yang Berisi Kumpulan Objek UIElement

Kelas Panel memposisikan dan mengatur objek anak UIElement . Properti kontennya adalah Children.

Kelas berikut mewarisi dari Panel kelas dan menggunakan con mode tenda l:

Untuk informasi selengkapnya, lihat Gambaran Umum Panel.

Kelas yang Memengaruhi Penampilan UIElement

Kelas menerapkan Decorator efek visual ke atau di sekitar satu anak UIElement. Properti kontennya adalah Child. Kelas berikut mewarisi dan Decorator menggunakan con mode tenda l:

Ilustrasi berikut menunjukkan TextBox yang memiliki (dihiasi dengan) di Border sekitarnya.

TextBox with black border
TextBlock yang memiliki Batas

Kelas yang Memberikan Umpan Balik Visual Tentang UIElement

Kelas ini Adorner menyediakan isdia visual kepada pengguna. Misalnya, gunakan Adorner untuk menambahkan handel fungsional ke elemen atau memberikan informasi status tentang kontrol. Kelas ini Adorner menyediakan kerangka kerja sehingga Anda dapat membuat pujaan Anda sendiri. WPF tidak menyediakan pujaan yang diimplementasikan. Untuk informasi selengkapnya, lihat Gambaran Umum Adorners.

Kelas yang Memungkinkan Pengguna Memasukkan Teks

WPF menyediakan tiga kontrol utama yang memungkinkan pengguna memasukkan teks. Setiap kontrol menampilkan teks secara berbeda. Tabel berikut mencantumkan tiga kontrol terkait teks ini, kemampuannya saat menampilkan teks, dan propertinya yang berisi teks kontrol.

Kontrol Teks ditampilkan sebagai Properti konten
TextBox Teks biasa Text
RichTextBox Teks yang diformat Document
PasswordBox Teks tersembunyi (karakter ditutupi) Password

Kelas yang menampilkan teks Anda

Beberapa kelas dapat digunakan untuk menampilkan teks biasa atau berformat. Anda dapat menggunakan TextBlock untuk menampilkan teks dalam jumlah kecil. Jika Anda ingin menampilkan teks dalam jumlah besar, gunakan FlowDocumentReaderkontrol , FlowDocumentPageViewer, atau FlowDocumentScrollViewer .

memiliki TextBlock dua properti konten: Text dan Inlines. Saat Anda ingin menampilkan teks yang menggunakan pemformatan yang konsisten, Text properti sering kali menjadi pilihan terbaik Anda. Jika Anda berencana menggunakan pemformatan yang berbeda di seluruh teks, gunakan Inlines properti . Properti Inlines adalah kumpulan Inline objek, yang menentukan cara memformat teks.

Tabel berikut mencantumkan properti konten untuk FlowDocumentReaderkelas , FlowDocumentPageViewer, dan FlowDocumentScrollViewer .

Kontrol Properti konten Tipe properti konten
FlowDocumentPageViewer Dokumen IDocumentPaginatorSource
FlowDocumentReader Dokumen FlowDocument
FlowDocumentScrollViewer Dokumen FlowDocument

Mengimplementasikan FlowDocumentIDocumentPaginatorSource antarmuka; oleh karena itu, ketiga kelas dapat mengambil FlowDocument sebagai konten.

Kelas yang memformat teks Anda

TextElement dan kelas terkait memungkinkan Anda memformat teks. TextElement objek berisi dan memformat teks dalam TextBlock objek dan FlowDocument . Dua jenis TextElement objek utama adalah Block elemen dan Inline elemen. Elemen Block mewakili blok teks, seperti paragraf atau daftar. Elemen Inline mewakili sebagian teks dalam blok. Banyak Inline kelas menentukan pemformatan untuk teks yang diterapkan. Masing-masing TextElement memiliki con sendiri mode tenda l. Untuk informasi selengkapnya, lihat Gambaran Umum Model Konten TextElement.

Baca juga