WPF antara Cinta dan Realita | Episode 6

Pada episode 4 seri Cinta dan Realita telah dikemukakan tentang Application Object Model. Pada teknologi WPF selain Application Object Model terdapat juga Programming Object Model. Bila Applications Object Model memfokuskan pada dukungan permodelan pustaka aplikasi WPF dari sisi antarmuka dan presentasi aplikasi, maka Programming Object Model lebih menekankan pada dukungan permodelan pustaka aplikasi WPF dari sisi pemograman aplikasi seperti penanganan events, akses resources, hingga pengikatan data. Seri Cinta dan Reailta kali ini akan membahas beberapa model yang diusung oleh Programming Object Model.

WPF Base Objects

Sebagian besar class pada WPF berasal dari turunan class dasar lainnya. Sebagai contoh pada base objects WPF, sebagian besar berasal dari class DependencyObject, apabila rekan hendak membuat object pemograman silahkan menurunkannya dari class tersebut. DepedencyObject class berisi berbagai cara untuk melakukan komputasi properties yang terkait dengan model pemograman WPF, plus didalamnya juga terdapat dukungan event notifikasi perubahan nilai yang mungkin terjadi pada object yang bersangkutan. Gambar 1 menjelaskan hirarkis DependencyObject terhadap class-class base object lainnya.

 

Gambar 1. Hirarkis DepedencyObject

Tabel Berikut menjelaskan fungsi setiap class-class base objects turunan DependencyObject

Nama Class

Deskripsi

Visual

Sesuai dengan namanya, class ini terkait dengan semua tampilan visual pada control-kontrol WPF

Freezable

Class ini adalah class yang memfokuskan pada peningkatan performa aplikasi untuk tampilan grafis yang dibuat oleh brush atau pen. Intinya class ini memberikan notifikasi pada sistem untuk tidak merender bagian-bagian aplikasi yang bersifat frozen (tidak berubah) ataupun sebaliknya (unfrozen)

UIElement

Class ini mendukung untuk animasi, commands, event masukan, dan juga event-event antarmuka yang dimiliki oleh dependency objek

ContentElement

Class ini mendukung konsep isi (content) yang dimiliki sebuah aplikasi. Sebagai contoh penggunaan class ini adalah class-class reader yang merupakan class yang membutuhkan content

FrameworkElement

Memberikan dukungan layanan untuk animasi, story boards, pengikatan data. FrameworkElement adalah subclass dari UIElement

FrameworkContentElement

Memberikan layanan yang sama dengan FrameworkElement hanya saja, FrameworkContentElement merupakan subsclass dari ContentElement, dengan kata lain di dalamnya terdapat dukungan fungsi dari ContentElement

WPF Events

Aplikasi merespon terhadap setiap aksi pengguna melalui suatu konsep yang dikenal dengan events. Pada aplikasi berbasis WPF, XAML dan Code Behind, saling terhubung melalui penamaan event yang memiliki signature sama, konsep ini dikenal dengan delegate. Sebagai contoh apabila rekan-mengklik tombol maka respond logika bisnis dieksekusi. Event bersifat one-to many artinya respon sebuah event dapat berpengaruh pada lebih dari satu control.

private void btnHitung_Click(object sender, RoutedEventArgs e)

{

MessageBox.Show("Test");

}

WPF Resources

WPF resources mengemukakan tentang sekumpulan sumberdaya yang bersifat reusable, pada umumnya WPF Resources terbagi menjadi tiga kategori.

  • Standard Resources, resources ini melekat pada element dengan ditandai x:key , sebuah kunci element yang unik untuk standard resources. Pada umumnya standard resource diletakkan pada sebuah root element sebagai contoh diletkkan di stackpanel atatupun grid, hal ini menjamin tujuan dari resources sendiri yakni "Resources"
  • Application Resources, resources ini terletak pada aplikasi, lebih tepatnya diletakkan pada Applications Object Model (app.xaml)
  • System Resources, resources ini terletak pada sistem dan sudah dimiliki oleh WPF, sebagai contoh resources systemcolor (pewarnaan) atau resources systemfont (font)

Kode Contoh

Kode contoh ini menunjukkan penggunaan events, resources, yang telah dikemas dalam satu solusi

Selamat belajar

Ciao | Ridi

Share this post: | | | |

Comments

No Comments