TOC

This article has been localized into Danish by the community.

En WPF Applikation:

Arbejd med App.xaml

App.xaml er det deklarative startpunkt for din applikation. Visual Studio vil automatisk oprette det til dig, når du opretter et nyt WPF-program, herunder en bagvedliggende kode-fil, der hedder App.xaml.cs. De fungerer meget som et vindue, hvor de to filer er delklasser, der arbejder sammen for at give dig mulighed for at arbejde både i markup (XAML) og programkode (cs)

App.xaml.cs udvider applikationsklassen, som er en central klasse i et WPF Windows-program. .NET vil starte afviklingen i denne klasse og derefter starte det ønskede vindue eller side. Dette er også stedet at abonnere på vigtige applikationshændelser, som f.eks. Applikations start, uhåndterede undtagelser og så videre. Mere om det senere.

Et af de mest almindeligt anvendte funktioner i App.xaml-filen er at definere globale ressourcer, der kan bruges og nås fra hele programmet, f.eks. Globale stilarter. Dette vil blive diskuteret i detaljer senere.

App.xaml strukturen

Når du opretter en ny applikation, vil den automatisk genererede App.xaml se sådan ud:

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

Det vigtigste at bemærke her er StartupUri værdien. Dette er faktisk den del, som fortæller, hvilket vindue eller side der skal startes, når applikationen afvikles. I dette tilfælde vil MainWindow.xaml blive startet, men hvis du vil bruge et andet vindue som udgangspunkt, kan du blot ændre dette.

I nogle situationer vil du have mere kontrol over, hvordan og hvornår det første vindue vises. I så fald kan du fjerne StartupUri-egenskaben og værdien og derefter gøre alt fra den bagvedliggende kode fil. Dette vil blive demonstreret nedenfor.

App.xaml.cs strukturen

Den tilhørende App.xaml.cs fil for et nyt projekt vil normalt se således ud:

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

namespace WpfTutorialSamples
{
	public partial class App : Application
	{

	}
}

Du vil se, hvordan denne klasse udvider applikationsklassen, så vi kan gøre ting på applikationsniveauet. For eksempel kan du abonnere på opstartshændelsen, hvor du manuelt kan oprette dit startvindue.

Her er et eksempel

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

Bemærk, hvordan StartupUri er blevet erstattet med et abonnement på opstartshændelsen (abonnement på begivenheder gennem XAML forklares i et andet kapitel). I den bagvedliggende kode fil kan du bruge hændelser som denne:

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

Det fede i dette eksempel, sammenlignet med bare at bruge StartupUri-egenskaben, er, at vi kommer til at manipulere opstartsvinduet, før det vises. I dette ændrer vi titlen på det, hvilket ikke er frygteligt nyttigt, men du kan også abonnere på hændelser eller måske vise en skærm. Når du har al kontrol, er der mange muligheder. Vi vil se dybere ind i flere af dem i de næste artikler i denne vejledning.