TOC

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

A WPF application:

Working with App.xaml

App.xaml on alotuspiste sovelluksellesi.. Visual Studio luo sen automaattisesti, kun käynnistät uuden WPF-sovelluksen, mukaan lukien taustakoodina olevan tiedoston nimeltä App.xaml.cs. Ne toimivat paljolti samalla tavalla kuin Window (MainWindow.xaml ja MainWindow.xaml.cs), jossa nämä kaksi tiedostoa (App.xaml ja App.xaml.cs) ovat osittaisluokkia ja toimivat yhdessä, jotta voit työskennellä sekä merkintäkielessä (XAML) että taustakoodissa.

App.xaml.cs laajentaa Application luokkaa, joka on WPF Windows -sovelluksen keskeinen luokka. .NET siirtyy tähän luokkaan aloitusohjeita varten ja käynnistää sitten haluamasi ikkunan tai sivun sieltä. Täällä voit myös määrittää tärkeitä sovellustapahtumia, kuten sovelluksen käynnistyksen, käsittelemättömät poikkeukset ja niin edelleen. Siitä lisää myöhemmin.

Yksi App.xaml-tiedoston yleisimmin käytetyistä ominaisuuksista on määrittää yleiset resurssit, joihin voidaan päästä käsiksi ja käyttää kaikkialta sovelluksesta, esimerkiksi yleiset tyylit. Tätä käsitellään yksityiskohtaisesti myöhemmin.

App.xaml:n rakenne

Kun luodaan uutta sovellusta, automaattisesti luotu App.xaml näyttää tältä:

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

Tärkeintä täällä on StartupUri-ominaisuus. Tämä on se osa, joka määrittää mikä ikkuna tai sivu käynnistetään, kun sovellus käynnistetään. Tässä tapauksessa MainWindow.xaml käynnistetään, mutta jos haluat käyttää toista ikkunaa lähtökohtana, voit yksinkertaisesti muuttaa tätä.

Joissakin tilanteissa voit haluta hallita tarkemmin, miten ja milloin ensimmäinen ikkuna näytetään. Siinä tapauksessa voit poistaa StartupUri-ominaisuuden ja arvon ja tehdä sen sitten kaiken taustakoodissa (App.xaml.cs ). Esimerkki alhaalla

App.xaml.cs structure

Oletusarvoinen App.xaml.cs näyttää tältä:

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

namespace WpfTutorialSamples
{
	public partial class App : Application
	{

	}
}

Näet, kuinka tämä luokka laajentaa Application luokkaa, jolloin voimme tehdä asioita sovellustasolla. Voit esimerkiksi määrittää Startup tapahtuman, jossa voit luoda aloitusikkunan manuaalisesti.

Tässä esimerkki:

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

Huomaa, miten StartupUri on korvattu Startup tapahtumalla (tapahtumien tilaaminen XAML:n kautta selitetään toisessa luvussa). Taustakoodissa voit käyttää tapahtumaa seuraavasti:

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

Tässä esimerkissä hieno asia verrattuna vain StartupUri-ominaisuuden käyttämiseen on, että saamme muokata käynnistysikkunaa ennen sen näyttämistä. Tässä muutamme sen otsikkoa, mikä ei ole kovin hyödyllistä, mutta voit myös tilata tapahtumia tai ehkä näyttää käynnistyskuvan. Kun sinulla on kaikki hallinta, on monia mahdollisuuksia. Tarkastelemme tarkemmin useita niistä, tämän opetusohjelman seuraavissa artikkeleissa.