In deze zelfstudie zal ik je leren over het gebeurtenismodel van Windows Phone. Nog belangrijker is dat we meer te weten komen over navigatie en hoe we deze aan een applicatie kunnen toevoegen zodat gebruikers kunnen navigeren tussen pagina's van een Windows Phone-applicatie.
Gebeurtenissen in Windows Phone zijn eenvoudig acties die worden geactiveerd nadat aan een specifieke voorwaarde is voldaan. Deze actie wordt normaal geïnitieerd door gebruikersinteractie. Een goed voorbeeld van een gebeurtenis is de gebruiker die op een knop tikt in een Windows Phone-toepassing. De gebruiker zou normaal gesproken verwachten dat er iets gebeurt na het tikken op een knop. Rechts?
Aan besturingselementen kunnen veel evenementen zijn gekoppeld. Op Windows Phone kunnen we een codeblok specificeren dat moet worden uitgevoerd wanneer een bepaalde gebeurtenis plaatsvindt. Dit proces wordt genoemd afhandeling van evenementen. We kunnen ook aangepaste evenementen maken, maar dat valt buiten het bestek van deze zelfstudie. In plaats daarvan verkennen we een aantal van de ingebouwde gebeurtenissen waarop sommige Windows Phone-besturingselementen reageren.
Gebeurtenisafhandeling is vrij eenvoudig op Windows Phone. We hebben zelfs de mogelijkheid om zelfs handlers in XAML te definiëren, vergelijkbaar met hoe we eigenschappen definiëren. Laten we kijken hoe dit werkt.
Begin met het maken van een nieuw Windows Phone C # -project zoals we in de vorige zelfstudies hebben gedaan. Sleep in je nieuwe project een Knop controle van de Gereedschapskist op de lege ruimte in de Visual Studio-ontwerpweergave. Je zou iets moeten hebben dat lijkt op wat ik hieronder heb.
Om te laten zien hoe gebeurtenissen werken, krijgen we een eenvoudige weergave van onze toepassingen Hallo Wereld pop-upbericht wanneer de gebruiker op de knop tikt die we zojuist hebben toegevoegd. Een knopbediening heeft een Klik evenement, waarop we ons kunnen abonneren en verwerken.
Als u de gebeurtenissen wilt zien die een besturingselement bezit, selecteert u het besturingselement in de ontwerpweergave en gaat u naar het eigenschappenvenster van Visual Studio rechtsonder. Klik op de knop 'Evenementen' in de rechterbovenhoek van het venster om de gebeurtenissen van het besturingselement weer te geven.
U zou een lijst met gebeurtenissen voor het geselecteerde besturingselement moeten zien. Deze gebeurtenissen zijn de ingebouwde gebeurtenissen van het momenteel geselecteerde besturingselement. In het tekstveld aan de rechterkant van elke gebeurtenis kunnen we de naam opgeven van een methode die wordt aangeroepen wanneer de gebeurtenis plaatsvindt. Die methode is de gebeurtenishandler.
Met andere woorden, de gebeurtenishandler wordt aangeroepen wanneer de gebeurtenis plaatsvindt. De gebeurtenis die ons op dit punt interesseert is de Klik evenement. Dubbelklik op het tekstveld rechts van de naam van de gebeurtenis. Dit zou u automatisch naar de MainPage.cs
klasse die gekoppeld is met onze MainPage.xaml
pagina. Je zou ook een automatisch gegenereerde methode moeten zien, die de gebeurtenishandler met de naam aangeeft Button_Click
of iets dergelijks.
Onthoud dat voor elke XAML-pagina die we in Windows Phone maken, een C # -pagina is gekoppeld met de code voor de bedieningselementen die op de XAML-pagina zijn gemaakt. Deze C # -code wordt normaal gesproken aangeduid als code achter.
Laten we nu de code implementeren en een bericht weergeven met de tekst "Hallo wereld". Voeg het volgende codefragment toe aan de Button_Click
methode zoals hieronder getoond.
private void Button_Click (object afzender, RoutedEventArgs e) MessageBox.Show ("Hello World");
Dit is alles wat we moeten doen om de klikgebeurtenishandler voor onze knop te implementeren. Voordat we onze applicatie testen, kan ik u uitleggen wat het bovenstaande codefragment doet. De Berichten box
class is onderdeel van de .NET-bibliotheek en stelt ons in staat een pop-upbericht te tonen. Door de Laten zien
methode op de Berichten box
klasse en doorgeven in een string, "Hallo Wereld"
, een popup wordt getoond aan de gebruiker. Start de applicatie en tik op de knop om het resultaat van ons werk te zien.
Dat was makkelijk, toch? Gebeurtenissen zijn een integraal onderdeel van een Windows Phone-toepassing en u zult merken dat u ze vaak gebruikt bij het ontwikkelen van Windows Phone-applicaties.
Nu we iets weten over gebeurtenissen en het afhandelen van gebeurtenissen, is het tijd om iets te leren over een ander belangrijk aspect van Windows Phone, navigatie. De meeste Windows Phone-applicaties hebben meer dan één pagina en we moeten een manier implementeren om tussen deze pagina's te navigeren.
Windows Phone neemt een zeer eenvoudige benadering van navigatie, waardoor we met weinig werk van de ene naar de andere pagina kunnen navigeren. De manier waarop navigatie werkt op Windows Phone lijkt sterk op hoe u door webpagina's navigeert. We maken gebruik van een URI of Universal Resource Identifier,die erg lijkt op een URLin webontwikkeling. Met URI's kunt u zelfs parameters doorgeven, net als op internet. We zullen dit aspect van navigatie echter niet in deze tutorial behandelen.
Laten we de navigatie verkennen door onze huidige applicatie uit te breiden. We moeten eerst een nieuwe pagina maken waarnaar we kunnen navigeren. Klik met de rechtermuisknop op de naam van uw project in de Solution Explorer en selecteer Toevoegen> Item toevoegen van het menu. Maak een pagina met de naam Page1.xaml.
Voeg een ... toe TextBlock controlenaar de nieuwe pagina en stel de tekst in op "Dit is een nieuwe pagina" door de Tekst
eigendom.
Het doel is om vanaf de eerste pagina te navigeren, MainPage.xaml, naar de nieuwe pagina, Page1.xaml. Om dit te bereiken, moeten we de gebeurtenishandler van de knop op de eerste pagina bewerken. In plaats van een pop-upbericht weer te geven, navigeren we naar de pagina die we zojuist hebben gemaakt. Open MainPage.cs en zoek de gebeurtenishandler die we zojuist hebben gemaakt. Vervang de implementatie door deze hieronder.
private void Button_Click (object afzender, RoutedEventArgs e) NavigationService.Navigate (nieuwe Uri ("/ Page1.xaml", UriKind.Relative));
In de even-handler noemen we de Navigeren
methode op de NavigationService
klasse, passeren in een instantie van de Uri
klasse. De NavigationService
klasse is toegankelijk vanaf elke Windows Phone-pagina, waardoor we naar een andere pagina kunnen navigeren.
De Navigeren
methode kost een Uri
bijvoorbeeld als een parameter. We maken de Uri
object door twee parameters door te geven. De eerste parameter is het relatieve pad naar de pagina waarnaar we willen navigeren, /Page1.xaml
in ons voorbeeld. Het is belangrijk om de toonaangevende schuine streep toe te voegen bij het navigeren naar een relatief pad. De tweede parameter die we doorgeven is het type Uri
we zijn voorbij, UriKind.Relative
in dit voorbeeld. Dit geeft aan dat de eerste parameter een relatief pad is.
We hoeven geen back-knop te maken, omdat elk Windows Phone-apparaat een fysieke terugknop heeft die de gebruiker naar de vorige pagina brengt. We zouden echter het standaardgedrag van de knop Terug kunnen overschrijven als we dat echt zouden willen.
Voer uw toepassing nog een keer uit en tik op de knop op de eerste pagina om naar de tweede pagina te gaan. Als u de stappen in deze zelfstudie hebt gevolgd, moet de toepassing u naar de volgende pagina leiden, zoals hieronder wordt weergegeven.
Zoals u kunt zien, is het heel gemakkelijk om te navigeren tussen pagina's in een Windows Phone-toepassing. Ik raad u aan de documentatie te verkennen voor meer informatie over Windows Phone-evenementen en navigatie.
In deze zelfstudie leer je de basisprincipes van Windows Phone-evenementen en hoe je met evenementen omgaat. Je hebt ook geleerd over navigatie op Windows Phone.
In de volgende zelfstudie laat ik u zien hoe u media-elementen, zoals audio en afbeeldingen, toevoegt aan een Windows Phone-toepassing.