Tutorial WPF untuk Pemula: Cara Membuat Aplikasi [Contoh]
Apa itu WPF?
WPF adalah kerangka untuk membangun Windows aplikasi yang memungkinkan pengguna mengembangkan antarmuka pengguna yang kaya dengan animasi 3D dan warna yang kaya dengan kompleksitas kode yang lebih sedikit. Ini adalah mesin rendering berbasis vektor yang menggunakan akselerasi perangkat keras kartu grafis modern, yang membuat Ul lebih cepat dan sangat skalabel. WPF adalah singkatan dari Windows presentasi Foundation.
WPF dapat dianggap sebagai evolusi dari WinForms. Ini menghasilkan sistem tampilan grafis yang mudah dioperasikan Windows. Ini menawarkan pemisahan yang mudah antara UI dan logika bisnis.
Aplikasi WPF dapat diterapkan di sistem Anda sebagai program desktop mandiri atau dihosting sebagai objek tertanam di situs web.
Mengapa WPF?
Ada banyak alasan untuk menggunakan platform WPF, beberapa yang menonjol adalah-
- Platform ideal untuk digunakan jika Anda perlu berurusan dengan berbagai jenis media
- WPF memungkinkan Anda membuat antarmuka pengguna dengan kulit. Ini juga membantu Anda ketika Anda perlu memuat sebagian UI atau ingin mengikat data XML
- Ini memungkinkan Anda memanfaatkan perpustakaan kelas .NET yang besar saat ia dibangun teknologi .NET
- Kemandirian resolusi, sehingga aplikasi yang dikembangkan menggunakan WMF dapat dijalankan pada perangkat seluler atau monitor berukuran 20 inci
- WPF dibangun di DirectX, bukan WinAPI. Ia menawarkan sistem grafis komputer klien. Oleh karena itu, menawarkan kekuatan rendering grafis yang lebih besar
- Mendukung model dokumen aliran yang memungkinkan kualitas tata letak "penerbitan desktop".
- Penampilan dan perilaku digabungkan secara longgar. Hal ini memungkinkan desainer dan pengembang untuk mengerjakan dua model terpisah
- Dalam kerangka WMF Anda dapat mendesain alat secara grafis pada dokumen XML sederhana alih-alih mengurai kode
- Memungkinkan Anda menggunakan akselerasi perangkat keras untuk menggambar GUI, untuk kinerja yang lebih baik
Sejarah WPF
Windows 1.0 adalah lingkungan GUI pertama dari Microsoft. Ia bekerja sebagai lapisan di atas DOS, mengandalkan sistem GDI dan USER untuk grafis dan antarmuka pengguna.
DirectX diperkenalkan pada tahun 1995, sebagai sistem grafis berkinerja tinggi. Itu ditujukan untuk permainan dan lingkungan terkait grafis lainnya. Selama bertahun-tahun ada banyak versi yang dirilis dengan Directx9 yang menyediakan perpustakaan untuk digunakan dengan kode mange.Net.
versi WPF | rilis Tahun | .Versi Bersih | Versi Visual Studio | Fitur |
---|---|---|---|---|
3.0 | 2006 | 3.0 | N / A | Peluncuran pertama. Namun pengembangan WPF bisa dilakukan dengan VS 2005. |
3.5 | 2007 | 3.5 | vs 2008 | Modifikasi dan perbaikan pada: Model aplikasi, penjilidan, kontrol, dokumen, anotasi, dan elemen Ul 3-D. |
3.5 SP1 | 2008 | 3.5 SP1 | N / A | Dukungan layar splash asli. Kontrol browser web baru, dukungan DirectX pixel shader. |
4.0 | 2010 | 4.0 | vs 2010 | Kontrol baru: Kalender. DataGrid, DatePicker. Multi-Sentuh dan Manipulasi |
4.5 | 2012 | 4.5 | vs 2012 | Waktu pengaturan lebih cepat dan peningkatan kinerja untuk efek Bitmap. Kontrol baru: Kalender. DataGrid, DatePicker. Multi-Sentuh dan Manipulasi |
4.5.1 | 2013 | 4.5.1 | vs 2013 | Kontrol Pita baru Antarmuka INotifyDataErrorlnfo baru |
4.5.2 | 2014 | 4.5.2 | NA | Tidak Ada Perubahan Besar Tidak Ada Perubahan Besar |
4.6 | 2015 | 4.6 | vs 2015 | Dukungan jendela anak transparan Peningkatan HDPI dan Sentuh |
WPF 5.0.6 versi stabil terbaru yang dirilis pada April 2021.
Fitur WPF
- Dokumen dan Percetakan
- Keamanan, Aksesibilitas & Lokalisasi
- Menawarkan Interoperabilitas dengan Windows Kontrol formulir
- Direct3D digunakan dalam aplikasi grafis yang mengutamakan kinerja
- Menggunakan perangkat keras kartu video untuk rendering
- Grafik berbasis vektor memungkinkan Anda menskalakan aplikasi tanpa kehilangan kualitas
- WPF mendukung sistem piksel logis floating-point dan warna ARGB 32-bit
- Definisikan Ulang Gaya dan Templat Kontrol
- Membangun font internasional dari font komposit
- Render teks WPF membantu Anda memanfaatkan teknologi ClearType
- Memungkinkan Anda menggunakan teknik cache teks yang telah dirender sebelumnya dalam memori video
- Pendekatan berbasis sumber daya untuk setiap pengendalian
- Pengatur waktu presentasi diinisialisasi & dikelola oleh WPF
- Hubungan antara video dan animasi juga didukung
- Di WPF, gaya adalah sekumpulan properti yang harus diterapkan pada konten yang digunakan untuk rendering visual
- Templat di WPF membantu Anda mengubah Ul dokumen Anda
- Perintah merupakan versi kejadian yang lebih abstrak dan tidak digabungkan secara longgar
- Dukungan WPF untuk perintah mengurangi jumlah kode yang perlu kita tulis
Selanjutnya di WPF ini tutorial C#, kita akan belajar tentang tipe inti dan Infrastruktur WPF.
Jenis dan Infrastruktur Inti WPF
Kelas di WPF dibagi menjadi empat jenis berbeda:
- Elemen UI
- Elemen Kerangka
- Elemen Konten
- FrameworkContentElement
Kelas-kelas ini, yang dikenal sebagai kelas elemen dasar, menyediakan fondasi bagi model penyusunan antarmuka pengguna.
Antarmuka pengguna WPF terdiri dari elemen yang dirangkai dalam hierarki pohon. Ini disebut pohon elemen. Pohon elemen adalah cara intuitif untuk menata antarmuka pengguna. Ini adalah struktur yang memungkinkan Anda mendapatkan fitur layanan UI yang kuat.
xaml
Bahasa Markup Aplikasi yang Dapat Diperluas yang disebut โXAMLโ, atau โzammelโ adalah cara deklaratif untuk mendefinisikan antarmuka pengguna.
Berikut adalah definisi XAML dari tombol sederhana:
<Button FontSize="16" HorizontalAlignment="Center" VerticalAlignment="Center" > Say Hello Guru99</Button>
Keuntungan menggunakan bahasa XAML:
- XAML memisahkan tampilan front-end dari logika back-end
- XAML adalah metode termudah untuk mewakili antarmuka pengguna
- XAML bekerja secara efektif dengan alat
Kontrol
Kerangka kerja WPF mendukung banyak kontrol berguna seperti:
- Kontrol pengeditan seperti TeksBox, MemeriksaBox, Tombol radio
- Kontrol daftar seperti DaftarBox, Tampilan Daftar, Tampilan Pohon
- Informasi pengguna seperti Label, WPF ProgressBar, ToolTip
- Tindakan seperti Menu, Tombol, dan ToolBar
- Penampilan seperti Border, WPF Image, dan Viewbox
- Kotak dialog umum seperti OpenFileDialog dan PrintDialog.
- Wadah seperti TabContro, ScrollBar, dan GrupBox
- Tata letak seperti DocPanel, StackPanel, dan Grid
- Navigasi seperti Frame dan Hyperlink
Tampilan kontrol dapat disesuaikan dengan gaya dan templat tanpa pemrograman. Anda juga dapat membuat kontrol kustom dengan menurunkan kelas baru dari kelas dasar yang sesuai.
Penampilan
WPF menyediakan fitur untuk menyesuaikan tampilan aplikasi Anda. Ini memungkinkan Anda mengatur objek dan nilai untuk hal-hal seperti font, latar belakang, dll.
Fitur gaya memungkinkan Anda melakukan standarisasi tampilan spesifik untuk keseluruhan produk. Ini memungkinkan Anda mengganti tampilan default sambil mempertahankan perilaku defaultnya.
Templat data memungkinkan Anda mengontrol visualisasi default dari data yang terikat. Dengan bantuan tema, Anda dapat dengan mudah memvisualisasikan gaya dari sistem operasi.
Tata Letak & Panel
Tata letak membantu Anda dalam penentuan posisi dan kontrol ukuran yang tepat. Ini adalah bagian dari proses penyusunan presentasi untuk pengguna. Kerangka kerja WPF memudahkan proses tata letak dan menawarkan kemampuan adaptasi tampilan UI yang lebih baik.
Infrastruktur tata letak yang ditawarkan oleh berbagai kelas adalah 1) StackPanel 2)DockPanel 3) WrapPanel 4) Grid dan 5) Canvas
Grafis
WPF menyediakan sistem grafis yang ditingkatkan seperti
- WPF menggunakan unit yang tidak bergantung pada perangkat, memungkinkan resolusi dan independensi perangkat. Oleh karena itu, setiap piksel, yang tidak bergantung pada perangkat, secara otomatis diskalakan dengan sistem pengaturan titik per inci
- WPF menggunakan double bukan float dan mendukung lebih banyak pilihan warna
- Mesin grafis WPF dirancang sedemikian rupa sehingga dapat memanfaatkan perangkat keras grafis bila tersedia
Dokumen dan Percetakan
Kerangka kerja WPF menawarkan tiga jenis dokumen:
- Memperbaiki dokumen: Jenis dokumen ini mendukung WYSIWpresentasi YG.
- Dokumen aliran: Memungkinkan Anda menyesuaikan dan mengubah alur konten berdasarkan variabel run-time seperti ukuran jendela dan resolusi perangkat.
- Dokumen XPS: Ini adalah representasi halaman kertas elektronik dalam format berbasis XML. XPS adalah format dokumen sumber terbuka dan lintas platform.
WPF memungkinkan kontrol yang lebih baik atas sistem pencetakan. Ini termasuk pencetakan jarak jauh dan antrian. Apalagi dokumen XPS dapat dicetak langsung tanpa mengubahnya menjadi format cetak.
WPF Architekstur
WPF merupakan bagian dari framework .NET. Framework ini berisi kode yang dikelola dan tidak dikelola. Komponen penting arsitektur WPF dijelaskan dalam gambar di bawah ini:
Komponen arsitektur WPF
- Kerangka Presentasi: Membantu Anda membuat elemen tingkat atas seperti Kontrol, gaya, tata letak, jendela, dll.
- Inti Presentasi: Ini menampung tipe dasar seperti UIElement, Visual dari semua Kontrol dan bentuk yang Berasal dari PresentationFramework.dll.
- CLR: Itu membuat proses pengembangan menjadi produktif dengan menawarkan fitur-fitur seperti manajemen memori, penanganan kesalahan, dll.
- inti susu: Milcore adalah bagian dari kode tidak terkelola yang menawarkan integrasi erat dengan DirectX.
- DirectX: Ini adalah API tingkat rendah yang memungkinkan rendering grafik WPF. Pembicaraan DirectX berinteraksi dengan driver dan merender konten.
- Pengguna32: Ini adalah API inti yang banyak digunakan oleh banyak program. Ia mengelola memori dan pemisahan proses. User32 membantu Anda memutuskan elemen mana yang akan ditempatkan di mana di layar.
- Kernel: Input berasal sebagai sinyal pada driver perangkat mode kernel dan dialihkan ke proses yang benar dan dengan menghubungkannya Windows kernel dan Pengguna32.
Instalasi WPF
Lihat tautan ini untuk menginstal WPF https://www.guru99.com/download-install-visual-studio.html
Selanjutnya pada tutorial aplikasi WPF ini, kita akan membangun WPF pertama kita.
Bagaimana Cara Membuat Aplikasi WPF pertama Anda?
Dalam contoh WPF ini, kita akan mengembangkan aplikasi WPF dasar. Jadi, mari kita mulai implementasi sederhana dengan mengikuti langkah-langkah yang diberikan dalam contoh aplikasi WPF di bawah ini.
Langkah 1) Di Visual Studio Buka File > Proyek
Langkah 2) Di jendela proyek baru
- Pilih Aplikasi WPF
- Masukkan Nama sebagai โMyWPFโ
- klik OK
Langkah 3) Visual Studio membuat dua file secara default
- File XAML (Jendela Utama.xaml)
- File CS (Jendela Utama.xaml.cs)
MainWindow.xaml memiliki
- Jendela Desain
- Berkas XAML
Di jendela XAML, tag berikut ditulis secara default
Grid adalah elemen pertama secara default.
MainWindow.xaml.cs berisi kode yang sesuai di belakang file desain XAML
Langkah 4) Di kotak peralatan,
- Seret TeksBox elemen ke jendela desain
- Sebuah teksBox akan muncul di jendela desain
- Anda akan melihat kode XAML untuk TeksBox menambahkan
Langkah 5) Ubah teks menjadi โProgram WPF Pertama.โ
Langkah 6) Klik Tombol Mulai
Langkah 7) Anda akan melihat Jendela di Output
Selamat! Anda telah merancang dan membuat aplikasi WPF pertama Anda. Selanjutnya dalam tutorial WPF untuk pemula ini, kita akan melihat perbedaan antara WPF dan WinForms.
WPF vs.WinForms
WPF | WinForm |
---|---|
Ini adalah kerangka kerja yang lebih baru, sehingga lebih selaras dengan standar saat ini. | Ini lebih tua, jadi lebih banyak dicoba dan diuji. |
Ini fleksibel dan kaya fitur. Anda dapat merancang aplikasi yang sangat kaya tanpa coding atau membeli kontrol. | Tidak terlalu kaya fitur |
Pengembang 3rd kontrol partai difokuskan pada kompatibilitas dengan WPF sebagai masa depan. | Ada banyak kontrol pihak ketiga yang bisa Anda beli atau dapatkan secara gratis. |
XAML memungkinkan Anda membuat dan mengedit GUI dengan mudah. Hal ini memungkinkan pekerjaan dibagi antara desainer (XAML) dan programmer (C#, ASP.net, dll.). | In Windows Membentuk semua kode yang ditulis di satu tempat. |
WPF dapat membuat antarmuka pengguna untuk keduanya Windows aplikasi dan aplikasi web seperti Silverlight dan XBAP. | Tidak ada dukungan seperti itu |
Rangkaian kontrol dalam kotak WPF terbatas | Kontrol dalam kotak sangatlah kuat |
Jenis Aplikasi yang dibangun dengan WPF
- WPF mencoba mengganti formulir web dan formulir windows โ aplikasi dapat dibuat untuk berjalan di browser atau jendela mandiri
- Windows Formulir dan halaman WPF bisa hidup berdampingan dalam aplikasi yang sama
- Anda dapat mengembangkan aplikasi halaman/jendela
Panduan Cepat
- Bentuk lengkap WPF adalah Windows presentasi Foundation
- Ini adalah platform ideal untuk digunakan jika Anda perlu berurusan dengan berbagai jenis media
- Windows 1.0 adalah lingkungan GUI pertama dari Microsoft yang bekerja pada DOS dan mengandalkan sistem GDI dan USER
- WPF di .NET menawarkan Interoperabilitas dengan Windows Kontrol formulir
- WPF dibagi menjadi empat jenis berbeda seperti UIElement, FrameworkElement ContentElement & FrameworkContentElement
- Komponen terpenting dari bagian arsitektur WPF adalah PresentationFramework, PresentationCore, CLR, Milcore, DirectX, User32, dan Kernel
- WPF adalah framework yang lebih baru dibandingkan WinForms, sehingga lebih sesuai dengan standar saat ini
- Windows Formulir dan halaman WPF bisa hidup berdampingan dalam aplikasi yang sama