Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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 model konten untuk kontrol WPF dan tipe-tipe yang menyerupai kontrol. Model konten menjelaskan konten apa yang dapat digunakan dalam kontrol. Topik ini juga mencantumkan properti konten untuk setiap model konten. Properti konten adalah properti yang digunakan untuk menyimpan konten objek.
Kelas yang Berisi Konten Arbitrer
Beberapa kontrol dapat berisi objek jenis apa pun, seperti string, objek DateTime, 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 | Isi |
---|---|
ContentControl | Satu objek sewenang-wenang. |
HeaderedContentControl | Header dan satu item, keduanya adalah objek arbitrer. |
ItemsControl | Kumpulan objek arbitrer. |
HeaderedItemsControl | Tajuk dan kumpulan barang, yang semuanya merupakan objek acak. |
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 model konten yang berisi gambar dan beberapa teks:
Kontrol yang Berisi Objek Arbitrer Tunggal
Kelas ContentControl berisi satu konten arbitrer. Properti kontennya adalah Content. Kontrol berikut mewarisi dari ContentControl dan menggunakan model kontennya:
Ilustrasi berikut menunjukkan empat tombol yang Content nya diatur ke string, objek DateTime, Rectangle, dan Panel yang berisi Ellipse dan TextBlock:
Untuk contoh cara mengatur properti Content, 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 menentukan properti Header yang berjenis Object; oleh karena itu, keduanya bisa menjadi objek arbitrer.
Kontrol berikut mewarisi dari HeaderedContentControl dan menggunakan model kontennya:
Ilustrasi berikut menunjukkan dua objek TabItem. TabItem pertama memiliki objek UIElement sebagai Header dan Content. Header disetel ke StackPanel yang mengandung Ellipse dan TextBlock. Content diatur ke StackPanel yang berisi TextBlock dan Label. Kedua TabItem memiliki string di Header dan TextBlock di Content.
Untuk contoh cara membuat objek TabItem, 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 ItemsSource dan Items. ItemsSource biasanya digunakan untuk mengisi ItemsControl dengan kumpulan data. Jika Anda tidak ingin menggunakan koleksi untuk mengisi ItemsControl, Anda dapat menambahkan item dengan menggunakan properti Items.
Kontrol berikut mewarisi dari ItemsControl dan menggunakan model kontennya:
Ilustrasi berikut ini memperlihatkan ListBox yang berisi jenis item ini:
Kontrol yang Berisi Header dan Kumpulan Objek Arbitrer
Kelas HeaderedItemsControl mewarisi dari ItemsControl dan dapat berisi beberapa item, seperti string, objek, atau elemen lain, dan header. Ini mewarisi properti konten ItemsControl, ItemsSource, dan Items, dan mendefinisikan properti Header yang dapat menjadi objek arbitrer.
Kontrol berikut mewarisi dari HeaderedItemsControl dan menggunakan model kontennya:
Kelas yang Berisi Kumpulan Objek UIElement
Kelas Panel memposisikan dan mengatur objek anak UIElement. Properti kontennya adalah Children.
Kelas berikut mewarisi dari kelas Panel dan menggunakan model kontennya:
Untuk informasi selengkapnya, lihat Gambaran Umum Panel .
Kelas yang Mempengaruhi Tampilan UIElement
Kelas Decorator menerapkan efek visual pada atau di sekitar satu anak UIElement. Properti kontennya adalah Child. Kelas berikut mewarisi dari Decorator dan menggunakan model kontennya:
Ilustrasi berikut menunjukkan TextBox yang memiliki (dihiasi dengan) Border di sekitarnya.
kotak teks
TextBlock yang memiliki Batas
Kelas yang Memberikan Umpan Balik Visual Tentang UIElement
Kelas Adorner menyediakan petunjuk visual untuk pengguna. Misalnya, gunakan Adorner untuk menambahkan handel fungsional ke elemen atau memberikan informasi status tentang kontrol. Kelas Adorner menyediakan kerangka kerja sehingga Anda dapat membuat pengaya Anda sendiri. WPF tidak menyediakan penhias yang sudah 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.
Pengendalian | Teks ditampilkan sebagai | Properti dari 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 kontrol FlowDocumentReader, FlowDocumentPageViewer, atau FlowDocumentScrollViewer.
TextBlock memiliki dua properti konten: Text dan Inlines. Saat Anda ingin menampilkan teks yang menggunakan pemformatan yang konsisten, properti Text sering menjadi pilihan terbaik Anda. Jika Anda berencana menggunakan pemformatan yang berbeda di seluruh teks, gunakan properti Inlines. Properti Inlines adalah kumpulan objek Inline, yang menentukan cara memformat teks.
Tabel berikut mencantumkan properti konten untuk kelas FlowDocumentReader, FlowDocumentPageViewer, dan FlowDocumentScrollViewer.
Pengendalian | Properti dari konten | Jenis properti konten |
---|---|---|
FlowDocumentPageViewer | Dokumen | IDocumentPaginatorSource |
FlowDocumentReader | Dokumen | FlowDocument |
FlowDocumentScrollViewer | Dokumen | FlowDocument |
FlowDocument mengimplementasikan antarmuka IDocumentPaginatorSource; oleh karena itu, ketiga kelas dapat mengambil FlowDocument sebagai konten.
Kelas yang memformat teks Anda
TextElement dan kelas terkait memungkinkan Anda memformat teks. Objek TextElement berisi dan memformat teks dalam objek TextBlock dan FlowDocument. Dua jenis utama objek TextElement adalah elemen Block dan elemen Inline. Elemen Block mewakili blok teks, seperti paragraf atau daftar. Elemen Inline mewakili sebagian teks dalam blok. Banyak kelas Inline menentukan pemformatan untuk teks yang diterapkan. Setiap TextElement memiliki model kontennya sendiri. Untuk informasi selengkapnya, lihat Gambaran Umum Model Konten TextElement .
Lihat juga
.NET Desktop feedback