This article is currently in the process of being translated into Indonesian (~99% done).
The Window
Ketika membuat sebuah aplikasi WPF, hal pertama yang akan Anda temui adalah class Window. Class ini berfungsi sebagai akar dari sebuah jendela dan menampilkan bingkai standar, bar judul serta tombol peebesar, perkecil dan tombol tutup. Sebuah jendela WPF adalah sebuah kombinasi dari sebuah file XAML (.xaml), dimana elemen <Window> berfungsi sebagai dasarnya, dan sebuah file CodeBehind (.cs). Jika anda menggunakan Visual Studio (Express) dan Anda membuat sebuah aplikasi WPF baru, Visual Studio akan membuat sebuah jendela default untuk Anda, yang mana akan terlihat seperti berikut:
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
</Grid>
</Window>
Atribut x:class memberitahu file XAML kelas mana yang digunakan, di situasi ini Window1, yang mana Visual Studio sudah membuatkannya untuk kita. Anda akan menemukannya di pohon proyek (project tree) di VS, sebagai anak file XAML. Secara standar, itu terlihat seperti ini:
using System;
using System.Windows;
using System.Windows.Controls;
//…more using statements
namespace WpfApplication1
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
}
}
Seperti yang Anda lihat, class Window1 didefinisikan sebagai partial, karena class tersebut dikombinasikan dengan file XAML anda pada runtime untuk memberi anda jendela penuh. Inilah yang dilakukan ketika kita memanggil fungsi InitializeComponent(), karena itulah mengapa itu dibutuhkan untuk mendapatkan jendela lengkap dan sukses berjalan.
Jika kita kembali melihat file XAML nya, Anda akan melihat beberapa atribut-atribut menarik lainnya yang terdapat pada elemen Window, seperti Title, yang mendefinisikan judul dari window tersebut (di tampilkan pada bar judul) begitu pula dengan lebar dan tinggi awal. Terdapat juga beberapa definisi namespace, yang mana akan kita bahas lebih jauh dalam bab XAML.
Anda juga akan memperhatikan bahwa Visual Studio telah membuat sebuah kontrol Grid untuk kita didalam Window tadi. Kontrol Grid adalah satu dari panel-panel yang ada pada WPF, dan walaupun dapat diberikan panel atau kontrol yang mana saja, Window hanya boleh memiliki SATU kontrol turunan, jadi sebuah Panel, yang nantinya akan berisi berbagai kontrol turunan, biasanya merupakan sebuah pilihan yang bagus. Nantinya pada tutorial ini, kita akan melihat jauh lebih dalam mengenai berbagai macam tipe panel-panel yang dapat Anda pergunakan, karena mereka sangat penting dalam WPF.
Properti-properti Window yang penting
Kelas Window pada WPF memiliki banyak atribut-atribut menarik yang dapat Anda set untuk mengatur tampilan dan perilaku dari window aplikasi Anda. Berikut adalah daftar kecil dari atribut-atribut yang paling menarik:
Icon - Memungkinkan Anda untuk menentukan ikon dari window Anda, yang biasanya ditampilkan pada sudut kiri atas, tepat sebelum judul window.
ResizeMode - Kontrol ini menunjukkan dan bagaimana end-user dapat mengubah ukuran dari window Anda. Default-nya adalah CanResize, yang mana akan memungkinkan pengguna untuk mengubah ukuran window seperti window-window lainnya, apakah dengan menggunakan tombol maximize/minimize atau dengan menarik salah satu pinggiran window. CanMinimize akan memungkinkan pengguna untuk mengecilkan window, tapi tidak dapat memperbesar window itu ataupun menariknya menjadi lebih besar atau lebih kecil. NoResize adalah pilihan yang paling ketat, dimana tombol maximize dan minimize dihilangkan dan window nya tidak dapat ditarik untuk memperbesar atau memperkecil.
ShowInTaskbar - Pilihan defaultnya adalah true, tapi jika Anda mengaturnya pada false, window Anda tidak akan ditampilkan pada taskbar Windows. Hal ini berguna untuk window-window non-primary atau untuk aplikasi yang seharusnya di minimize ke tray.
SizeToContent - Menentukan apakah window Anda harus mengubah ukurannya sendiri secara otomatis untuk kontennya agar cukup. Pilihan defaultnya adalah Manual, yang berarti window tidak secara otomatis merubah ukuran. Pilihan lainnya adalah Width, Height dan WidthAndHeight, dan masing-masing akan secara otomatis menyesuaikan ukuran windownya secara horizontal, vertikal, atau keduanya.
Topmost - Pilihan defaultnya adalah false, tapi jika diatur ke true, Window mu akan menetap di atas dari windows lain kecuali dikecilkan. Hanya berguna untuk situasi khusus.
WindowStartupLocation - Mengontrol posisi awal dari window mu. Pilihan defaultnya adalah Manual, yang berarti window tersebut akan diposisikan pada awalnya sesuai dengan properti Top dan Left dari window mu. Opsi lainnya adalah CenterOwner, yang akan memposisikan windownya di tengah-tengah dari si pemilik window tersebut, dan CenterScreen, yang akan memposisikan windownya di tengah-tengah layar.
WindowState - Mengontrol awal keadaan jendela (window). itu bisa Normal, Maximized atau Minimized. Pilihan defaultnya adalah Normal, yang seharusnya anda gunakan kecuali anda ingin window anda untuk mulai baik maximized atau minimized.
Disana terdapat banyak atribut lainnya jadi lihatlah sendiri lalu pindah ke bab selanjutnya.