Bekerja dengan App.xaml

Ketika kita membuat aplikasi kita memulainya di App.xaml, Visual Studio akan otomatis membuatnya saat kita membuat project WPF baru termasuk code-behind yang bernama App.xaml.cs. Penggunaan yang paling umum file App.xaml untuk menyimpan resource yang perlu diakses secara global.

App.xaml.cs merupakan perluasan class aplikasi yang merupakan kelas pusat pada aplikasi WPF. Class ini juga yang memuat instruksi awal dan menentukan window mana yang akan duluan muncul. Disini juga event-event aplikasi seperti application start dan unhandled exceptions berada.

App.xaml juga memuat pengaturan StartupUri yang digunakan untuk menentukan window mana yang akan dimuat pertama aplikasi dijalankan. Secara default akan mengarah ke MainWindow.xaml, tapi kita bisa dengan mudah menggantinya.

Sebagai contoh kita akan membuat sebuah window baru bernama Window1.xaml yang akan kita jadikan sebagai window startup.

Di solution explorer, klik kanan diatas node nama project -> Add -> Window...


Pilih WPF -> Window (WPF) -> Beri Nama -> Klik Add

Untuk nama, rani buat seadanya aja Window1.xaml. Kemudian sedikit mengubah code untuk membedakan dengan tampilan MainWindow.xaml (highlight kuning)


Lalu kita buat StartupUri ke window yang baru saja kita buat.



Coba run applikasi.


Kita juga dapat mendefinisikan Startup untuk menambahkan procedure saat aplikasi mulai berjalan, dengan cara menuliskan code seperti highlight kunin di bawah. Klik kanan -> Go To Definition untuk men-generate code otomatis di file .cs


Hasilnya seperti gambar di bawah:


Sebagai contoh kita akan memindahkan procedure untuk membuat window1 sebagai startup window ke Application_Startup dan mengganti title window dengan code seperti berikut:

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Threading.Tasks;
using System.Windows;

namespace HelloWPF
{
    /// <summary>
    /// Interaction logic for App.xaml
    /// </summary>
    public partial class App : Application
    {
        private void Application_Startup(object sender, StartupEventArgs e)
        {
            // membuat startup window
            Window1 wind = new Window1();

            // kita bisa tambahkan procedure lain
            wind.Title = "Renamed Title";            

            // panggil windows dengan .Show()
            wind.Show();
        }
    }
}

Supaya tidak tabrakan, StartupUri kita hapus.



Coba run aplikasi!






Post a Comment

0 Comments