TOC

This article is currently in the process of being translated into Indonesian (~99% done).

A WPF application:

Working with App.xaml

App.xaml adalah titik awal dari aplikasi anda. Visual Studio akan otomatis membuat file tersebut saat anda mulai membuat aplikasi wpf, termasuk kode yg berjalan di belakang yang bernama App.xaml.cs. File tersebut bekerja seperti Window, saat dua file tersebut adalah kelas yang saling berkaitan, bekerja bersama-sama untuk membantu anda dalam mengerjakan kedua file XAML dan kode yang ada di belakang nya

App.xaml.cs memperluas class dari aplikasi, yang merupakan class inti dari WPF Windows application. .NET akan menggunakan kelas ini untuk memulai instruksi awal dan akan mulai membuat Jendela atau Halaman berdasarkan kelas tersebut. Kelas ini juga merupakan tempat untuk memonitor aksi aplikasi, seperti saat membuka aplikasi, error ,dan seterusnya. Hal seterusnya akan di jelaskan nanti

Salah satu fitur yang sering di pakai dari file App.xaml adalah untuk membuat akses global yang akan digunakan oleh seluruh aplikasi, untuk jenis instansi global. Tentang ini akan di jelaskan dalam penjelasan selanjutnya.

Struktur App.xaml

Ketika membuat aplikasi baru, secara otomatis menghasilkan App.xaml yang akan terlihat seperti ini:

<Application x:Class="WpfTutorialSamples.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml">
    <Application.Resources>

    </Application.Resources>
</Application>

Hal utama yang harus di perhatikan disini adalah properti StartupUri. Ini adalah bagian yang memberikan perintah Jendela atau Halaman mana yang harus di luncurkan. Dalam kasus ini, MainWindow.xaml akan menjadi jendela awal, tetapi jika anda ingin menggunakan jendela lain sebagai jendela awal, anda dapat dengan mudah mengubah window tersebut.

Dalam beberapa situasi, anda menginginkan kontrol lebih terhadap kapan dan bagaimana jendela pertama di tampilkan. Dalam kasus tersebut, anda dapat menghapus properti StartupUri dan Isinya lalu melakukan semuanya dari Code-Behind sebagai gantinya. Contohnya seperti berikut.

Struktur App.xaml.cs

App.xaml.cs yang sesuai terlihat seperti berikut

using System;
using System.Collections.Generic;
using System.Windows;

namespace WpfTutorialSamples
{
	public partial class App : Application
	{

	}
}

Anda dapat melihat bagaimana kelas ini memperluas kelas aplikasi, yang dapat membuat kita melakukan sesuatu pada level aplikasi. Contohnya, anda dapat memonitor aksi saat membuka aplikasi, anda dapat membuat jendela secara manual.

Ini Contohnya:

<Application x:Class="WpfTutorialSamples.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
			 Startup="Application_Startup">
    <Application.Resources></Application.Resources>
</Application>

Perhatikan bagaimana StartupUrinya sudah di ganti dengan sebuah subscription ke Startup eventnya (meng-subscribe ke events melalui XAML akan di jelaskan di bab selanjutnya). di Code-Behind, anda akan menggunakan event seperti ini:

using System;
using System.Collections.Generic;
using System.Windows;

namespace WpfTutorialSamples
{
	public partial class App : Application
	{

		private void Application_Startup(object sender, StartupEventArgs e)
		{
			// Create the startup window
			MainWindow wnd = new MainWindow();
			// Do stuff here, e.g. to the window
			wnd.Title = "Something else";
			// Show the window
			wnd.Show();
		}
	}
}

Hal keren di contoh ini, dibandingkan dengan hanya menggunakan properti StartupUri, yaitu kita dapat memanipulasi startup windownya sebelum menampilkannya. Disini, kita mengganti Titlenya, yang mana itu tidak terlalu berguna, tapi anda juga bisa meng-subscribe ke events atau mungkin menunjukkan sebuah splash screen. Ketika anda memiliki seluruh kontrol, disana terdapat banyak kemungkinan. Kita akan melihat lebih mendalam ke beberapa dari mereka di artikel selanjutnya dari tutorial ini.

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!