TOC

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

WPF aplikace:

Práce s App.xaml

App.xaml je deklarativní výchozí bod aplikace. Visual Studio jej automaticky vytvoří při spuštění nové aplikace WPF, včetně souboru s kódem nazvaný App.xaml.cs. Funguje podobně jako u okna, kde dva soubory jsou částečné třídy, které spolupracují, aby vám umožnily pracovat v obou kódech (XAML) a Code-behind.

App.xaml.cs rozšiřuje třídu Application, což je centrální třída ve WPF Windows. .NET si jde do této třídy pro pokyny k otevření aplikace, a pak odtud spustí požadované okno nebo stránku. Toto je také místo pro přihlášení se k odběru důležitých událostí aplikace, jako je spuštění aplikace, neošetřené výjimky a tak dále. Více o tom později.

Jednou z nejčastěji používaných funkcí souboru App.xaml je definování globálních prostředků, které mohou být použity a přístupné z celé aplikace, například globální styly. To podrobně probereme později.

Struktura App.xaml.cs

Když vytvoříte novou aplikaci bude vám automaticky vygenerovaná App.xaml která bude vypadat nějak 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>

Hlavní věc, kterou si všimnete, je vlastnost StartupUri. To je vlastně část, která udává, které okno nebo stránka se spustí při spuštění aplikace. V takovém případě bude spuštěn program MainWindow.xaml, ale pokud chcete jako výchozí místo použít jiné okno, můžete to jednoduše změnit.

V některých situacích chcete mít větší kontrolu nad tím, jak a kdy se zobrazí první okno. V takovém případě můžete odebrat vlastnost a hodnotu StartupUri a pak to vše provést z příkazu Code-Behind. To bude demonstrováno níže.

App.xaml.cs structure

Když vytvoříte novou aplikaci bude vám automaticky vygenerovaná App.xaml.cs která bude vypadat nějak takto:

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

namespace WpfTutorialSamples
{
	public partial class App : Application
	{

	}
}

Uvidíte, jak tato třída rozšiřuje třídu Application, což nám umožňuje dělat věci na úrovni aplikace. Můžete se například přihlásit k odběru události Startup, kdy si můžete ručně vytvořit počáteční okno.

Zde je pří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šimněte si, jak StartupUri byl nahrazen odběrem události Spuštění aplikace (přihlášení k odběru událostí prostřednictvím XAML je vysvětleno v jiné kapitole). V Code-Behind můžete událost použít 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();
		}
	}
}

Skvělou věcí v tomto příkladu, ve srovnání s pouhým použitím Vlastnost StartupUri, je to, že se dostaneme k manipulaci spouštěného okna před jeho zobrazením. V tomto okamžiku můžeme změnit jeho název, což jistě není tak potřebné, ale můžete se tak přihlásit k odběru událostí nebo případně zobrazit úvodní obrazovku. Pokud máte vše pod kontrolou, máte tak k dispozici mnoho dalších možností. V příštích článcích tohoto tutoriálu se podíváme několika z nich detailněji.

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!