TOC

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

Egy WPF alkalmazás:

Working with App.xaml

Az App.xaml tartalmazza az alkalmazás indítását leíró kódrészletet. A Visual Studio automatikusan létrehozza ezt a file-t amikor új WPF alkalmazást indítunk. A háttér található programkód file-t is létrehozza, ennek a neve App.xaml.cs. A két file file tartalmazza azt az osztályt, részosztályok formájában, melyek segítségével létrehozhatjuk az alkalmazás alap megjelenését. Lehetővé teszik, hogy elkülönítve kezeljük a megjelenítést egy leíró nyelv segítségével (XAML), a viselkedést pedig a háttér programkódban határozzuk meg.

App.xml az Application osztály kiterjesztése, ami a Windows WPF alkalmazás központi osztálya. Az alkalmazás indításakor a .NET belép ebbe az osztályba, megfelelő utasításokat indít majd elindítja a szükséges ablakot vagy oldalt ebből az osztályból. Úgyszintén ez a hely ahol bejegyezhetjük a fontosabb esemény kezelőket, mint az alkalmazás indítása, kezeletlen kivételek és hasonlók. Többet a témáról a későbbiekben.

Az egyik leggyakrabban alkalmazott funkciója az App.xaml file-nak, hogy segítségével megadhatjuk a globális erőforrásokat, melyeket az alkalmazás egészéből elérhetünk és alkalmazhatunk, például globális stílus elemek stb. A témáról a későbbiekben részletesebb leírást adunk.

Az App.xaml struktúrája

Amikor új alkalmazást nyitunk, a fordító automatikusan létrehozza az App.xaml file-t. A tartalma az alábbiakban látható:

<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>

Fontos dolog, amire itt felhívjuk a figyelmet a StartupUri tulajdonság. Ez a kódrész adja meg, hogy melyik ablak vagy oldal indul el az alkalmazás indulásakor. Ebben a példában látható hogy a fenti esetben a MainWindow.xaml fog elindulni, de ha a fejlesztő másik ablakot akar indítani kezdő ablakként, akkor ezt tetszőlegesen megváltoztathatja.

Bizonyos esetekben szükséges, hogy megváltoztassuk azt hogy a kezdő ablak mikor és hogyan jelenjen meg. Ebben az esetben eltávolíthatjuk a StartupUri tulajdonságot és a megadott értékét és helyette az adott indító folyamatot a háttér programkódban határozzuk meg. Erre láthatunk példát az alábbiakban.

Az App.xaml.cs struktúrája

A megfelelő App.xaml.cs az új projekthez általánosságban az alábbiakat tartalmazza:

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

namespace WpfTutorialSamples
{
	public partial class App : Application
	{

	}
}

Láthatjuk hogy a létrehozott osztály az Application osztály kiterjesztése lesz, lehetővé téve hogy az alkalmazás szintjén végezzünk el tevékenységeket, indítsunk parancsokat. Például bejegyezhetünk a Startup eseményre, ahol magunk hozhatjuk létre az alkalmazás elindulásakot létrejövő ablakot.

A példa programkód az alábbi:

<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>

Láthatjuk miként lett a StartupUri behelyettesítve a megfelelő bejelentkezéssel a Startup eseményre (a megfelelő eseményre történő bejelentkezés az XAML-ben a következő fejezetben lesz kifejtve). A háttér programkódban az eseménykezelőt a következőképpen alkalmazhatjuk:

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

A nagyszerű dolog a fenti programkód alkalmazása esetén az, összehasonlítva az alap StartupUri tulajdonság használatával az, hogy lehetőségünk van a kezdő ablak módosítására azelőtt, hogy az megjelenik. Például módosíthatjuk az ablak fejléc szöveget, ami nem különösen hasznos, de például bejelentkezhetünk eseményekre vagy akár kezdőképet is megjeleníthetünk. Hasznos lehet ha a megjelenítés teljes ellenőrzése a fejlesztő kezében van. Ebben az esetben sokféle lehetőségből választhatunk. A következő fejezetben ezekből egyeseket részletesen is bemutatunk.