I denna handledning lär jag dig om händelsemodellen för Windows Phone. Ännu viktigare, vi lär oss om navigering och hur vi kan lägga till det i en applikation så att användarna kan navigera mellan sidor i en Windows Phone-applikation.
Händelser i Windows Phone är helt enkelt åtgärder som utlöses efter att ett visst villkor har uppfyllts. Denna åtgärd initieras normalt av användarens interaktion. Ett bra exempel på en händelse är att användaren knackar på en knapp i en Windows Phone-applikation. Användaren skulle normalt förvänta sig något att hända efter att ha tryckt på en knapp. Höger?
Kontroller kan ha många händelser kopplade till dem. På Windows Phone kan vi ange ett kodblock som ska utföras när en viss händelse inträffar. Denna process kallas händelsehantering. Vi kan också skapa anpassade händelser, men det ligger utanför omfattningen av denna handledning. I stället undersöker vi några av de inbyggda händelserna som vissa Windows Phone-kontroller svarar på.
Hantering av händelser är ganska lätt på Windows Phone. Vi har till och med möjlighet att definiera jämnhanterare i XAML, liknar hur vi definierar egenskaper. Låt oss se hur det här fungerar.
Börja med att skapa ett nytt Windows Phone C # -projekt som vi har gjort i tidigare handledning. I ditt nya projekt drar du a Knapp kontroll från ToolBox på tomt utrymme i Visual Studio-designvyn. Du borde ha något som ser ut som vad jag har nedan.
För att visa hur händelser fungerar, kommer vi att få vår applikationsdisplay en enkel Hej världen popup-meddelande när användaren tappar den knapp som vi just lagt till. En knappstyrning har a Klick evenemang som vi kan prenumerera på och hantera.
För att se händelserna som kontrollen har, välj kontrollen i designvyn och gå till fönstret Visual Studio-egenskaper längst ner till höger. Klicka på händelseknappen längst upp till höger i fönstret för att visa kontrollens händelser.
Du bör se en lista över händelser för den valda kontrollen. Dessa händelser är de inbyggda händelserna för den valda kontrollen. I textfältet till höger om varje händelse kan vi ange namnet på en metod som åberopas när händelsen inträffar. Den metoden är händelsehanteraren.
Med andra ord är händelsehanteraren påkallad när händelsen inträffar. Evenemanget som intresserar oss vid denna tidpunkt är Klick händelse. Dubbelklicka på textfältet till höger om händelsens namn. Detta borde automatiskt ta dig till MainPage.cs
klass som är kopplad till vår MainPage.xaml
sida. Du bör också se en automatiskt genererad metod, som representerar händelsehanteraren, namngiven Button_Click
eller något liknande.
Kom ihåg att för varje XAML-sida vi skapar i Windows Phone är kopplad till en C # -sida som innehåller koden för kontrollerna som skapats på XAML-sidan. Denna C # -kod kallas normalt som kod bakom.
Nu, låt oss gå vidare och implementera koden för att visa ett meddelande som säger "Hello World". Lägg till följande kodbit till Button_Click
metod som visas nedan.
privat tomt Button_Click (objekt avsändare, RoutedEventArgs e) MessageBox.Show ("Hello World");
Det här är allt vi behöver göra för att genomföra klickhanteraren för vår knapp. Innan vi testar vår ansökan, låt mig förklara vad ovanstående kodbit gör. De Meddelandebox
klassen är en del av .NET-biblioteket och tillåter oss att visa ett popup-meddelande. Genom att ringa Show
metod på Meddelandebox
klass och passerar i en sträng, "Hej världen"
, en popup visas till användaren. Kör programmet och tryck på knappen för att se resultatet av vårt arbete.
Det var lätt, var det inte? Händelser är en integrerad del av en Windows Phone-applikation och du hittar dig själv ofta när du utvecklar Windows Phone-applikationer.
Nu när vi vet om händelser och händelsehantering är det dags att lära känna en annan viktig aspekt av Windows Phone, navigation. De flesta Windows Phone-program har mer än en sida och vi måste genomföra ett sätt att navigera mellan dessa sidor.
Windows Phone tar ett mycket enkelt sätt att navigera, så att vi kan navigera från en sida till en annan med mycket lite arbete. Hur navigeringen fungerar på Windows Phone ligner mycket på hur du navigerar på webbsidor. Vi använder oss av a URI eller Universal Resource Identifier,vilket mycket liknar en webbadressi webbutveckling. Med URI kan du även överföra parametrar, precis som du kan på webben. Vi kommer dock inte att täcka denna aspekt av navigering i den här handledningen.
Låt oss utforska navigering genom att expandera vår nuvarande applikation. Vi behöver först skapa en ny sida som vi kan navigera till. Högerklicka på ditt projekt namn i Lösningsutforskare och välj Lägg till> Lägg till artikel från menyn. Skapa en sida som heter Page1.xaml.
Lägg till en Textblock kontrolleratill den nya sidan och sätta texten till "Detta är en ny sida" genom att ändra Text
fast egendom.
Målet är att navigera från första sidan, MainPage.xaml, till den nya sidan, Page1.xaml. För att uppnå detta måste vi redigera händelsehanteraren på knappen på första sidan. I stället för att visa ett popup-meddelande, navigerar vi till den sida som vi just skapat. Öppna MainPage.cs och leta reda på händelsehanteraren som vi skapade för en stund sedan. Byt ut dess implementering med den som visas nedan.
privat tomt Button_Click (objekt avsändare, RoutedEventArgs e) NavigationService.Navigate (ny Uri ("/ Page1.xaml", UriKind.Relative));
I den jämnhanteraren kallar vi Navigera
metod på NavigationService
klass, passerar i en instans av Uri
klass. De NavigationService
klassen är tillgänglig från alla Windows Phone-sidor, så att vi kan navigera till en annan sida.
De Navigera
metoden tar a Uri
instans som en parameter. Vi skapar Uri
objekt genom att skicka två parametrar. Den första parametern är den relativa sökvägen till den sida vi vill navigera till, /Page1.xaml
i vårt exempel. Det är viktigt att lägga till det främsta språket när du navigerar till en relativ sökväg. Den andra parametern vi passerar är typen av Uri
vi passerar, UriKind.Relative
i detta exempel. Det indikerar att den första parametern är en relativ sökväg.
Vi behöver inte skapa en bakåtknapp, eftersom varje Windows Phone-enhet har en fysisk tillbaka-knapp som tar användaren till föregående sida. Vi kan dock åsidosätta standardbeteendet på bakåtknappen om vi verkligen ville.
Kör din ansökan en gång till och tryck på knappen på första sidan för att navigera till den andra sidan. Om du har följt stegen i den här handledningen borde programmet ta dig till nästa sida som visas nedan.
Som du kan se är det väldigt lätt att navigera mellan sidor i en Windows Phone-applikation. Jag uppmanar dig att utforska dokumentationen för att lära dig mer om händelser och navigering i Windows Phone.
I den här handledningen lärde du dig grunderna i Windows Phone-händelser och hur man hanterar händelser. Du lärde dig också om navigering på Windows Phone.
I nästa handledning kommer jag att visa dig hur du lägger till medieelement, till exempel ljud och bilder, till en Windows Phone-applikation.