TOC

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

A WPF application:

Working with 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.

App.xaml structure

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

The matching App.xaml.cs will usually look like this for a new project:

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.

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!