TOC

This article has been localized into Slovak by the community.

Aplikácia WPF:

Práca s App .xaml

Súbor App.xaml je východiskový bod vašej aplikácie. Visual Studio ho automaticky vytvorí pri spustení novej aplikácie WPF, vrátane súboru Code-behind s názvom App.xaml.cs. Tieto dva súbory sú čiastočnými triedami, pracujú spoločne, aby vám umožnili písať v značkovacom jazyku (XAML), ako aj pri kódovaní v Code-behind.

App.xaml.cs rozširuje triedu Application, ktorá je centrálnou triedou v aplikácii WPF. .NET spustí inštrukcie v tejto triede a potom okno alebo stránku. Toto je tiež miesto na prihlásenie sa na dôležité udalosti aplikácie, ako je spustenie aplikácie, neošetrené výnimky atď. Viac o tom neskôr.

Jednou z najčastejšie používaných funkcií súboru App.xaml je definovať globálne zdroje (resources), ktoré sa môžu použiť a sú prístupné v celej aplikácii pre inštancie globálnych štýlov. Toto bude detailne prebraté neskôr.

Štruktúra App.xaml

Pri vytváraní novej aplikácie automaticky vygenerovaná aplikácia App.xaml bude vyzerať asi takto:

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

Všimnite si vlastnosť StartupUri. Táto poukazuje na to, ktoré okno alebo stránka sa majú spustiť pri spustení aplikácie. V tomto prípade sa spustí MainWindow.xaml, ale ak chcete použiť ako východisko iné okno, môžete to jednoducho zmeniť.

V niektorých situáciách chcete mať väčšiu kontrolu nad tým, ako a kedy sa zobrazí prvé okno. V takomto prípade môžete odstrániť vlastnosť a hodnotu StartupUri a potom to napísať v Code-Behind. Toto bude demonštrované nižšie.

Štruktúra App.xaml.cs

Súbor App.xaml.cs bude vyzerať asi takto pre nový projekt:

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

namespace WpfTutorialSamples
{
	public partial class App : Application
	{

	}
}

Tu vidíte, ako táto trieda rozširuje triedu Application, čo nám umožňuje robiť veci na úrovni aplikácie. Môžete sa napríklad prihlásiť na odber spúšťacej udalosti, kde môžete manuálne vytvoriť štartovacie okno.

Tu je príklad:

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

Všimnite si, ako bola nahradená počiatočná udalosť Startup, (prihlásenie k udalosti v XAML je vysvetlené v inej kapitole). V súbore Code-Behind môžete použiť túto udalosť takto:

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

Skvelá vec v tomto príklade, v porovnaní s použitím vlastnosti StartupUri, spočíva v tom, že sa pred spustením manipuluje s oknom. V tomto prípade zmeníme jeho názov, čo nie je príliš užitočné, ale mohli by ste sa tiež prihlásiť k udalostiam, alebo zobraziť splash screen (úvodnú obrazovku). Vtedy máte plné ovládanie a veľa možností. V nasledujúcich článkoch tútoriálu budeme hlbšie skúmať niekoľko z nich.