TOC

This article is currently in the process of being translated into Indonesian (~72% 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 jga 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. Dadlam kasus tersebut, anda dapat menghapus properti StartupUri dan Isinya lalu melakukan semuanya kode di belakang nya. Contoh nya 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>

Notice how the StartupUri has been replaced with a subscription to the Startup event (subscribing to events through XAML is explained in another chapter). In Code-Behind, you can use the event like this:

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();
		}
	}
}

The cool thing in this example, compared to just using the StartupUri property, is that we get to manipulate the startup window before showing it. In this, we change the title of it, which is not terribly useful, but you could also subscribe to events or perhaps show a splash screen. When you have all the control, there are many possibilities. We will look deeper into several of them in the next articles of this tutorial.

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!