Windows Phone 8 En introduktion till XAML

Utveckla programvara är vanligtvis en tvåstegs process som innebär att man utvecklar användargränssnittet och affärslogiken för applikationen. Windows Phone är inget undantag till detta paradigm. När du utvecklar för Windows Phone, XAML används för att implementera användargränssnittet för Windows Phone-applikationer.

1. Vad är XAML?

XAML eller Extensible Application Markup Language är ett deklarativt språk som utvecklats av Microsoft och används i Windows Phone för att skapa grafiska användargränssnittobjekt. Om du är bekant med XML, då ser en kodbit av XAML mycket bekant ut. XAML är till a C # utvecklare vad html är till en webbutvecklare. Det är grunden för användargränssnittet för Windows Phone.

Windows Phone-plattformen har många byggstenar till sitt förfogande, till exempel Knappar, textblock, textrutor, etc. Även om det är möjligt att utveckla en Windows Phone 8-applikation med endast C #, är det opraktiskt och besvärligt.

XAML gör det lättare att skapa användargränssnitt. Efter att du skapat ett nytt Windows Phone 8-projekt eller en sida i Visual Studio presenteras du med två visningar. En vy visar XAML-koden medan den andra visningen visar utvecklarens visuella designrepresentation.

För att bättre förstå detta, låt oss se på det projekt vi skapade i föregående handledning där vi skapade vår första Windows Phone 8-applikation.

               

Du märker omedelbart samma hierarkiska struktur som du hittar i XML och HTML. Varje element i XAML-koden representerar en Windows Phone-kontroll, som vi kommer att diskutera senare i denna serie. Du kommer märka att varje element har en öppnings- och stängningskod, precis som i XML eller HTML. Du kan också se att vissa element har ytterligare attribut, med följande struktur:

   

Jag kommer att referera till varje element i XAML-filen som en kontroll eftersom de representerar Windows Phone-kontroller, vilka är objekt som ingår i ramen. Var och en av dessa kontroller kan ha egenskaper kopplade till dem. Några av dessa kontroller, som t.ex. Rutnät och Stack kontroller, kan även innehålla andra kontroller inom dem. Se till exempel hur Stack kontroll med namn egendom av TitlePanel innehåller två Textblock kontroller.

Detta hierarkiska arrangemang av element gör det möjligt för utvecklare att utforma användargränssnittet för Windows Phone-applikationer med mycket enklare och ger också struktur mellan kontroller som utgör användargränssnittet för en Windows Phone-applikation.

2. XAML kontra kod

Som jag sa tidigare i den här artikeln är det möjligt att skapa hela användargränssnittet för ett Windows Phone-program i C #, utan att använda XAML. I själva verket är det dock inte så praktiskt. Detta rekommenderas inte, eftersom det gör att programmets användargränssnitt är orubbligt och lite överallt.

Dessutom strängt att använda C # för att skapa applikationens användargränssnitt begränsar möjligheten att använda MVVM designmönster som är bakat i Windows Phone utveckling. Detta innebär avancerade tekniker, t.ex. data bindande, kommer bli svårare att genomföra.

Låt oss ta en titt på de två teknikerna, XAML och C #, för att bygga ett programmets användargränssnitt. För denna jämförelse visar jag först hur a Textblock och a Knapp kontrollen deklareras inom a Stack kontroll med XAML. Jag ska sedan visa dig motsvarande i C #.

XAML

 En enkel textblock  

Du kan se hur declarative det ovanstående XAML-fragmentet är. Det är lätt att förstå hierarkin för kontrollerna. Det finns en annan fördel när du använder XAML. Vi kan direkt se resultatet av våra ändringar i Visual Studio genom förhandsgranskningsrutan, som vanligtvis placeras till vänster i Visual Studio.

C #

Låt oss se hur vi kan implementera samma användargränssnitt med hjälp av C # istället för XAML.

// Skapa vår StackPanel StackPanel stackPanel = new StackPanel (); this.Content = stackPanel; // Skapa vår TextBlock TextBlock textBlock = ny TextBlock (); textBlock.Margin = ny tjocklek (10); textBlock.Text = "En enkel textblock"; stackPanel.Children.Add (textblock); // Skapa vår knappknappsknapp = ny knapp (); knapp.Margin = ny tjocklek (20); button.Content = "Enkel knapp"; stackPanel.Children.Add (knapp);

Som du kan se är det lite clunkier jämfört med XAML och vi kan inte se resultatet av våra ändringar i flygningen. Du kanske också har märkt att kodblocket i C # är nästan dubbelt linjerna med kod och det är inte så läsligt som XAML-snippet vi såg tidigare.

För Windows Phone utveckling är XAML det rekommenderade sättet att skapa användargränssnitt. Det kan emellertid vara tider att vi behöver genomföra mer komplicerade kontroller som är svåra att skapa med hjälp av XAML, till exempel när kontrollen måste vara dynamisk till viss del. Trots att dessa situationer är mindre vanliga är det bra att veta att vi kan falla tillbaka på C #.

Slutsats

XAML är en integrerad del av Windows Phone utveckling och därför är en väsentlig förståelse väsentlig. Jag uppmanar dig att ta en titt på den officiella XAML-dokumentationen från Microsoft på Windows Phone Dev Center. Den innehåller djup information om användningen av XAML för utveckling av Windows Phone.

I den här handledningen har vi tittat på XAML: s roll i utvecklingen av Windows Phone och hur det jämförs med C # för att skapa användargränssnitt. I nästa handledning fortsätter vi att arbeta med XAML och ta tag i några av de vanligaste Windows Phone-kontrollerna, deras användning och hur de implementeras i en Windows Phone 8-applikation.