Cum se creează o aplicație pentru Windows Phone. Dezvoltarea primei aplicații Windows Phone: crearea primei aplicații

În dialogul New Project Visual Studio, selectați Visual C#, Silverlight pentru Windows Phone și un șablon simplu de aplicație Windows Phone și numiți-l ExploringXAMLFeatures.

În dialogul de selectare a sistemului de operare țintă, selectați Windows Phone OS 7.1

După crearea proiectului, fereastra Visual Studio va arăta astfel:

Să ne uităm la structura proiectului în fereastra Solution Explorer:

Nume de fișier Scop
AppManifest.xmlFișierul manifest necesar pentru a genera fișierul XAP în care este ambalată aplicația pentru implementare pe telefon.
AssemblyInfo.csUn alt fișier de configurare care definește unele metadate ale ansamblului principal al aplicației.
WMAppManifest.xmlUn fișier de metadate care conține diverse setări ale aplicației: titlu, setarea primei pagini, căi către pictograme, definirea capabilităților necesare sistemului etc.
App.xamlAcesta este fișierul de resurse ale aplicației. Resursele globale (acest lucru va fi discutat atunci când utilizați stiluri) sau evenimentele globale (care apar la pornirea aplicației) se află aici. Acest fișier este, de asemenea, punctul de intrare al aplicației.
App.xaml.csFișier de cod (code-behind) pentru App.xaml. Aici puteți gestiona evenimentele și erorile la nivel de aplicație, inclusiv tombstoneing aplicației. Acest concept va fi discutat mai târziu când se va discuta despre multitasking.
ApplicationIcon.pngO poză care va fi pictograma aplicației de pe telefon. Acesta este un fișier cu adevărat important, deoarece este primul lucru pe care utilizatorii îl vor vedea când lucrează cu aplicația.
Fundal.pngAceastă imagine este utilizată atunci când aplicația este fixată pe ecranul de pornire al telefonului. Aceasta este în esență o pictogramă mare de aplicație. Este logic să îl faceți similar vizual cu ApplicationIcon.png.
MainPage.xamlAceasta face parte din șablonul de aplicație selectat. MainPaige nu este un nume foarte bun, dar este ceea ce folosește șablonul implicit de proiect. Această pagină reprezintă interfața pe care o vede utilizatorul la pornirea aplicației.
MainPage.xaml.csFișierul cod de pagină MainPage.xaml.
SplashScreenImage.jpgAceastă imagine este afișată în timp ce aplicația se încarcă. Puteți seta propria imagine cu animație pentru a informa că aplicația se încarcă. Există o tehnică de creare a paginilor de încărcare foarte dinamice în XNA, dar aceasta depășește cu mult scopul acestei serii de articole.

Fișierele XAML definesc interfața aplicației. De fapt, acestea sunt doar fișiere XML cu limbajul de marcare XAML.

Deși acesta este cel mai simplu proiect, conține toate elementele cheie pe care le conțin toate celelalte șabloane și tipuri de proiecte.

Vă rugăm să rețineți că unele dintre setările prezentate sub formă de fișiere de configurare pot fi editate în interfața vizuală pentru editarea setărilor aplicației.

Adăugarea de controale la o pagină XAML

Rețineți că Visual Studio redă implicit atât designul, cât și XAML ale paginii.

Dacă ați navigat la alte fișiere de soluție, faceți dublu clic pe fișierul MainPage.xaml.

În codul XAML al fișierului MainPage.xaml, în interiorul elementului Grid numit ContentPanel, inserați un control Button:

În fereastra de design, butonul va apărea imediat aproximativ în centrul interfeței. Acordați atenție atributului Nume? Acesta este identificatorul unic al elementului, care vă ajută să faceți referire la el în cod. Gândiți-vă la acesta ca la atributul ID al controlului. Să adăugăm acum o acțiune când se face clic pe acest buton. Există două moduri de a lega un eveniment la un Buton (sau la orice alt control). În XAML, chiar în definiția Button, putem adăuga un atribut Click și InteliSense va întreba automat dacă vrem să generăm un nou handler de evenimente:

Puteți lega handlerul de evenimente direct în codul paginii Home.xaml.cs fără a-l specifica în fișierul XAML:

Public MainPage() (InitializeComponent(); MyButton.Click +=new RoutedEventHandler(MyButton_Click); )

Ambele metode funcționează. Puteți folosi oricare dintre ele. Pentru simplitate, vom folosi aici definiția metodei XAML. Acum puteți scrie cod gestionat în funcția MyButton_Click care va schimba interfața sau va apela alte funcții. Să completăm exemplul de aplicație prin adăugarea unui cod care va schimba textul din TextBlock PageTitle (PageTitle este un nume, așa că îl puteți referi direct în cod) la „hello wp7”. Pentru a face acest lucru, adăugați următorul cod la funcție:

Privat void MyButton_Click (expeditor al obiectului, RoutedEventArgs e) ( PageTitle.Text = "bună ziua wp7"; )

Selectați Windows Device Emulator în setările proiectului

Și lansați aplicația făcând clic pe triunghiul verde sau pe butonul F5. După lansarea aplicației și făcând clic pe butonul „Apăsați-mă”, ecranul ar trebui să arate similar cu captura de ecran de mai jos:

Adăugarea de noi pagini la un proiect

Doar cea mai simplă aplicație constă dintr-o pagină. Vrem să învățăm cum să scriem aplicații complexe cu mai multe pagini. Putem folosi șabloanele Pivot, Panorama, putem folosi modelul de design MVVM (Model-View-ViewModel) și mai întâi vom învăța cum să adăugăm noi pagini la proiect și să ne mutăm între ele.

În fereastra Solution Explorer, faceți clic dreapta pe numele proiectului, iar în meniul care apare, selectați Add, apoi New Item, în caseta de dialog care se deschide, selectați Windows Phone Portrait Page și denumiți-o SecondPage.xaml:

Acum avem o pagină XAML goală, o copie exactă a paginii MainPage.xaml înainte de a o edita.

Pentru a distinge mai bine între pagini, să mergem la codul XAML al paginii SecondPage și să edităm proprietatea Text a elementului TextBlock cu Name PageTitle, după cum se arată mai jos:

Navigarea între paginile aplicației

Deci, avem două pagini în proiect când pornește aplicația, este afișată pagina MainPage.xaml. Cum pot trece acum de la MainPage.xaml la SecondPage.xaml?

Să încercăm două moduri simple de a face acest lucru.

În codul XAML al fișierului MainPage.xaml după codul Button pe care l-am adăugat mai devreme, adăugați codul HyperlinkButton după cum se arată mai jos: