Windows Phone 8 En introduksjon til XAML

Utvikle programvare er vanligvis en to-trinns prosess som innebærer å utvikle brukergrensesnittet og forretningslogikken til applikasjonen. Windows Phone er ikke noe unntak for dette paradigmet. Når du utvikler for Windows Phone, XAML brukes til implementering av brukergrensesnittet til Windows Phone-applikasjoner.

1. Hva er XAML?

XAML eller Extensible Application Markup Language er et deklarativt språk utviklet av Microsoft og brukt i Windows Phone for å lage grafiske brukergrensesnittobjekter. Hvis du er kjent med XML, så vil en kodebrikke av XAML se veldig kjent ut. XAML er til en C # utvikler hva HTML er til en webutvikler. Det er grunnlaget for brukergrensesnittdesign for Windows Phone.

Windows Phone-plattformen har mange byggeklosser til disposisjon, for eksempel knapper, tekstblokker, tekstbokser, etc. Selv om det er mulig å utvikle et Windows Phone 8-program med bare C #, er det upraktisk og tungvint.

XAML gjør det enklere å skape brukergrensesnitt. Etter å ha opprettet et nytt Windows Phone 8-prosjekt eller en side i Visual Studio, presenteres du med to visninger. Én visning viser XAML-koden mens den andre visningen viser utvikleren sin visuelle designrepresentasjon.

For bedre å forstå dette, la vi se på prosjektet vi opprettet i den forrige opplæringen der vi opprettet vårt første Windows Phone 8-program.

               

Du merker øyeblikkelig den samme hierarkiske strukturen du finner i XML og HTML. Hvert element i XAML-koden representerer en Windows Phone-kontroll, som vi diskuterer senere i denne serien. Du vil legge merke til at hvert element har en åpnings- og lukkekode, akkurat som i XML eller HTML. Du kan også se at noen elementer har flere attributter, og tar følgende struktur:

   

Jeg vil referere til hvert element i XAML-filen som en kontroll som de representerer Windows Phone kontroller, som er objekter som er en del av rammen. Hver av disse kontrollene kan ha egenskaper knyttet til dem. Noen av disse kontrollene, som f.eks Nett og StackPanel kontroller, kan til og med inneholde andre kontroller innenfor dem. For eksempel, se hvordan StackPanel kontroll med Navn tilhører TitlePanel inneholder to TextBlock kontroller.

Dette hierarkiske arrangementet av elementer gjør det mulig for utviklere å utforme brukergrensesnittet til Windows Phone-applikasjoner med mye lettere og gir også struktur mellom kontroller som utgjør brukergrensesnittet til en Windows Phone-applikasjon.

2. XAML versus kode

Som jeg sa tidligere i denne artikkelen, er det mulig å opprette hele brukergrensesnittet til et Windows Phone-program i C #, uten å bruke XAML. I virkeligheten er dette imidlertid ikke veldig praktisk. Dette anbefales ikke, fordi det gjør utformingen av applikasjonsgrensesnittet ryddig og litt over alt.

I tillegg vil strengt bruk av C # for å opprette applikasjonens brukergrensesnitt, begrense muligheten for å bruke MVVM design mønster som er bakt inn i Windows Phone utvikling. Dette betyr avanserte teknikker, for eksempel data bindende, vil bli vanskeligere å implementere.

La oss ta en nærmere titt på de to teknikkene, XAML og C #, for å bygge et applikasjons brukergrensesnitt. For denne sammenligningen vil jeg først vise hvordan a TextBlock og a Knapp kontroll er deklarert innenfor a StackPanel kontroll ved hjelp av XAML. Jeg vil da vise deg tilsvarende i C #.

XAML

 En enkel tekstblokk  

Du kan se hvordan deklarativet ovenfor XAML-kodebiten er. Det er lett å forstå kontrollens hierarki. Det er en annen fordel når du bruker XAML. Vi kan se resultatet av våre endringer i Visual Studio gjennom designforhåndsvisningspanelet, som vanligvis er plassert til venstre i Visual Studio.

C #

La oss se hvordan vi kan implementere det samme brukergrensesnittet ved hjelp av C # i stedet for XAML.

// Lag vår StackPanel StackPanel stackPanel = new StackPanel (); this.Content = stackPanel; // Opprett vår TextBlock TextBlock textBlock = ny TextBlock (); textBlock.Margin = ny tykkelse (10); textBlock.Text = "En enkel tekstblokk"; stackPanel.Children.Add (textBlock); // Opprett vår knappeknapp-knapp = ny knapp (); knapp.Margin = ny tykkelse (20); button.Content = "Enkel knapp"; stackPanel.Children.Add (knapp);

Som du kan se, er det litt clunkier i forhold til XAML, og vi kan ikke se resultatet av våre endringer i fly. Du har kanskje også lagt merke til at kodeblokken i C # er nesten dobbelt linjene med kode, og det er ikke så lesbart som XAML-brikken vi så tidligere.

For Windows Phone utvikling er XAML den anbefalte måten å opprette brukergrensesnitt. Det kan imidlertid være ganger at vi må implementere mer kompliserte kontroller som er vanskelige å lage ved hjelp av XAML, for eksempel når kontrollen må være dynamisk til en viss grad. Selv om disse situasjonene er mindre vanlige, er det godt å vite at vi kan falle tilbake på C #.

Konklusjon

XAML er en integrert del av Windows Phone utvikling, og en solid forståelse er derfor avgjørende. Jeg oppfordrer deg til å ta en titt på den offisielle XAML dokumentasjonen fra Microsoft på Windows Phone Dev Center. Den inneholder grundig informasjon om bruken av XAML for utvikling av Windows Phone.

I denne opplæringen har vi tatt en titt på rollen som XAML i utviklingen av Windows Phone og hvordan den sammenlignes med C # for å opprette brukergrensesnitt. I den neste opplæringen fortsetter vi å jobbe med XAML og ta tak i noen av de vanligste Windows Phone-kontrollene, deres bruk og hvordan de skal implementeres i en Windows Phone 8-applikasjon.