TOC

This article has been localized into Romanian by the community.

O aplicație WPF:

Lucrând cu App.xaml

App.xaml este punctul de plecare declarativ al aplicației dumneavoastră. Visual Studio o va crea automat pentru dvs. atunci când porniți o nouă aplicație WPF, inclusiv un fișier de cod atașat, numit App.xaml.cs. Acestea funcționează asemănător cu o Fereastră, unde cele două fișiere sunt clase parțiale, lucrând împreună pentru a vă permite să lucrați atât în fișierul (XAML), cât și în cel din codul atașat.

App.xaml.cs extinde clasa Application, care este o clasă centrală într-o aplicație Windows WPF. .NET va apela această clasă pentru a începe rulajul aplicației și apoi va lansa fereastra sau pagina dorită de acolo. Acesta este, de asemenea, locul pentru a vă abona la evenimente importante ale aplicației, cum ar fi startul aplicației, excepțiile nefolosite și așa mai departe. Mai multe despre asta mai târziu.

Una dintre caracteristicile cele mai frecvent utilizate ale fișierului App.xaml este pentru definirea resurselor globale, care pot fi utilizate și accesate din întreaga aplicație, de exemplu stiluri globale. Acest lucru va fi discutat în detaliu mai târziu.

Structura App.xaml

Atunci când creați o nouă aplicație, aplicația App.xaml generată automat va arăta astfel:

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

Principalul lucru de observat aici este proprietatea StartupUri. Aceasta este de fapt partea care instruiește care fereastră sau pagina să pornească când aplicația este lansată. În acest caz, va fi lansată MainWindow.xaml, dar dacă doriți să utilizați o altă fereastră ca punct de plecare, puteți schimba pur și simplu acest lucru.

În anumite situații, doriți mai mult control asupra modului și momentului în care este afișată prima fereastră. În acest caz, puteți să eliminați proprietatea StartupUri și valoarea și apoi să faceți totul din la Code-Behind (codul asociat, "din spatele" app.xaml). Acest lucru va fi demonstrat mai jos.

Structura App.xaml.cs

App.cs corespunzător va arăta, de obicei, pentru un proiect noi în felul următor:

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

namespace WpfTutorialSamples
{
	public partial class App : Application
	{

	}
}

Veți vedea modul în care această clasă extinde clasa Application, permițându-ne să facem anumite lucruri la nivel de aplicație. De exemplu, vă puteți abona la evenimentul Startup, unde puteți crea manual fereastra dumneavoastră de pornire.

Iată un exemplu:

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

Observați cum a fost înlocuit StartupUri cu un abonament la evenimentul Startup (abonarea la evenimente prin XAML este explicată într-un alt capitol). În codul atașat, puteți folosi evenimentul astfel:

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

Lucrul pozitiv din acest exemplu, în comparație cu utilizarea proprietății StartupUri, este acela că manipulăm fereastra de pornire înainte de a o afișa. În acest caz, vom schimba titlul acestuia, ceea ce nu este extrem de util, dar puteți, de asemenea, să vă abonați la evenimente sau să afișați un ecran de pornire. Când aveți tot controlul, există multe posibilități. Vom privi mai adânc în câteva dintre acestea în următoarele articole ale acestui tutorial.