This article is currently in the process of being translated into Indonesian (~98% done).
Introduction to WPF panels
Panel merupakan salah satu jenis kontrol pada WPF. Mereka berfungsi sebagai penampung untuk kontrol lain dan juga sebagai pengatur layout halaman Anda. Karena sebuah window hanya bisa menampung Satu buah child kontrol, maka panel sering digunakan untuk merubah space menjadi sebuah area, dimana setiap area bisa menampung sebuah kontrol dan panel yang lain (dalam hal ini panel juga merupakan sebuah kontrol tentunya).
Panel terdiri dari berbagai macam, dimana setiap dari mereka memiliki cara tersendiri dalam menangani layout dan child kontrol. Menentukan panel yang benar menjadi bagian penting untuk mendapatkan karakter dan layout yang Anda inginkan, terutama pada waktu memulai proyek WPF, hal ini kadang menjadi pekerjaan yang sulit. Pada bagian selanjutnya akan dijelaskan setiap macam panel secara singkat sehingga Anda akan tahu kapan harus menggunakannya. Setelah itu, Anda bisa ke bagian selanjutnya, dimana setiap panel akan dijelaskan secara detil.
Kanvas
Canvas adalah sebuah panel sederhana, dimana panel ini mirip dengan WinForm dalam penanganannya. Panel ini memperbolehkan anda untuk menetapkan koordinat untuk setiap child kontrolnya. Hal ini menjadi tidak begitu fleksibel, karena Anda harus meletakkan child kontrol secara manual dan memastikan mereka sesuai dengan keinginan Anda. Gunakan panel ini hanya ketika Anda ingin mengontrol secara penuh posisi child kontrol Anda.
WrapPanel
WrapPanel akan memposisikan setiap child kontrol dengan child kontrol lainnya, secara horizontal (default) atau secara vertikal, sampai tidak ada lagi ruang, WrapPanel akan merapat dengan kontrol lainnya dan seterusnya. Gunakan WrapPanel jika Anda ingin beberapa kontrol merapat secara vertikal atau horisontal dengan otomatis ketika tidak ada lagi ruang.
StackPanel
StackPanel sedikit banyak mirip dengan WrapPanel, tapi bukan dengan merapatkan diri ketika child kontrol mengambil ruang yang besar, StackPanel justru akan melebarkan dirinya jika memungkinkan. Hampir mirip dengan WrapPanel, arahnya bisa secara horisontal ataupun vertikal, tapi bukan dengan menambah lebar dan tinggi dari child kontrol berdasarkan pada ukuran paling besar, setiap item akan ditarik secara penuh ukuran lebar dan tingginya. Gunakan StackPanel ketika Anda ingin beberapa kontrol mengambil semua ruang kosong yang tersedia. tanpa merapatkan diri.
DockPanel
DockPanel memperbolehkan Anda untuk mengunci posisi child kontrol ke atas, bawah, kiri atau kanan. Secara default, untuk kontrol terakhir, jika tidak diberikan posisi dock khusus maka akan mengisi semua ruang yang tersisa. Anda bisa melakukan hal yang sama dengan Grid panel, tapi untuk situasi yang sederhana, maka akan lebih mudah jika menggunakan DockPanel. Gunakan DockPanel kapan saja ketika Anda ingin mengunci posisi satu atau beberapa kontrol ke salah satu sisi, seperti untuk membagi window menjadi beberapa area khusus.
Grid
Grid mungkin adalah jenis panel yang paling kompleks. Sebuah Grid bisa berisi beberapa baris dan kolom. Anda menentukan ukuran tinggi dari tiap-tiap baris dan mengatur lebar dari tiap-tiap kolom, baik dengan ukuran pixel yang pasti, dengan prosentase dari ruang yang ada, atau secara auto, nantinya setiap baris dan kolom akan secara otomatis menyesuaikan diri dengan ukuran yang ada. Gunakan Grid jika panel yang lain tidak bisa melakukannya, contohnya ketika Anda membutuhkan beberapa kolom atau jika perlu mengkombinasikan dengan panel yang lain.
UniformGrid
UniformGrid hampir sama dengan Grid, bisa memiliki beberapa baris dan kolom, tapi dengan satu perbedaan penting: Semua baris dan kolom akan memiliki ukuran yang sama! Gunakan ini ketika Anda membutuhkan karakter sebuah Grid tanpa perlu menentukan ukuran dari tiap-tiap baris dan kolom.