Het ontwikkelen van software is meestal een tweestaps proces waarbij de gebruikersinterface en de bedrijfslogica van de applicatie worden ontwikkeld. Windows Phone vormt geen uitzondering op dit paradigma. Bij het ontwikkelen voor Windows Phone, XAML wordt gebruikt voor de implementatie van de gebruikersinterface van Windows Phone-applicaties.
XAML of Extensible Application Markup Language is een declaratieve taal ontwikkeld door Microsoft en gebruikt in Windows Phone om grafische gebruikersinterface-objecten te maken. Als u bekend bent met XML, dan zal een codefragment van XAML er heel bekend uitzien. XAML is om een C # ontwikkelaar wat HTML is voor een webontwikkelaar. Het is de basis van het ontwerp van de gebruikersinterface voor Windows Phone.
Het Windows Phone-platform heeft veel bouwstenen tot zijn beschikking, zoals knoppen, tekstblokken, tekstvakken, enz. Hoewel het mogelijk is om een Windows Phone 8-toepassing te ontwikkelen met alleen C #, is het onpraktisch en omslachtig.
XAML maakt het maken van gebruikersinterfaces veel eenvoudiger. Nadat u een nieuw Windows Phone 8-project of een nieuwe pagina in Visual Studio hebt gemaakt, krijgt u twee weergaven te zien. Eén weergave geeft de XAML-code weer terwijl de andere weergave de ontwikkelaar zijn visuele ontwerpweergave toont.
Om dit beter te begrijpen, gaan we terug naar het project dat we hebben gemaakt in de vorige zelfstudie waarin we onze eerste Windows Phone 8-toepassing hebben gemaakt.
Je merkt meteen dezelfde hiërarchische structuur die je in XML en HTML vindt. Elk element in de XAML-code vertegenwoordigt een Windows Phone-besturingselement, waarover we later in deze serie zullen discussiëren. U zult merken dat elk element een openings- en sluitingstag heeft, net als in XML of HTML. Je kunt ook zien dat sommige elementen extra kenmerken hebben, en de volgende structuur aannemen:
Ik zal verwijzen naar elk element in het XAML-bestand als een besturingselement aangezien ze Windows Phone-besturingselementen vertegenwoordigen, die objecten zijn die deel uitmaken van het framework. Aan elk van deze besturingselementen kunnen eigenschappen zijn gekoppeld. Sommige van deze besturingselementen, zoals de rooster en StackPanel besturingselementen, kunnen zelfs andere besturingselementen bevatten. Kijk bijvoorbeeld hoe het StackPanel controle met de Naam
eigendom van TitlePanel
bevat twee TextBlock controls.
Deze hiërarchische rangschikking van elementen stelt ontwikkelaars in staat om de gebruikersinterface van Windows Phone-applicaties met veel meer gemak te ontwerpen en biedt ook structuur tussen bedieningselementen die de gebruikersinterface van een Windows Phone-applicatie vormen.
Zoals ik eerder in dit artikel al zei, is het mogelijk om de volledige gebruikersinterface van een Windows Phone-toepassing in C # te maken, zonder XAML te gebruiken. In werkelijkheid is dit echter niet erg praktisch. Dit wordt niet aanbevolen, omdat het het ontwerp van de gebruikersinterface van de toepassing onordelijk maakt en een beetje overal.
Bovendien zal strikt gebruik van C # om de gebruikersinterface van de toepassing te creëren, de mogelijkheid van het gebruik van de MVVM ontwerppatroon dat is ingebakken in de ontwikkeling van Windows Phone. Dit betekent geavanceerde technieken, zoals Dataverbinding, zal moeilijker zijn om te implementeren.
Laten we eens kijken naar de twee technieken, XAML en C #, om de gebruikersinterface van een toepassing te bouwen. Voor deze vergelijking zal ik eerst laten zien hoe een TextBlock en een Knop controle wordt gedeclareerd binnen een StackPanel controle via XAML. Ik zal je dan het equivalent in C # laten zien.
Een eenvoudige TextBlock
U kunt zien hoe declaratief het bovenstaande XAML-fragment is. Het is gemakkelijk om de hiërarchie van de besturingselementen te begrijpen. Er is nog een voordeel bij het gebruik van XAML. We kunnen het resultaat van onze wijzigingen in Visual Studio direct zien in het deelvenster met de voorvertoning van het ontwerp, dat meestal links in Visual Studio wordt geplaatst.
Laten we eens kijken hoe we dezelfde gebruikersinterface kunnen gebruiken met C # in plaats van XAML.
// Maak onze StackPanel StackPanel stackPanel = new StackPanel (); this.Content = stackPanel; // Create Our TextBlock TextBlock textBlock = new TextBlock (); textBlock.Margin = nieuwe dikte (10); textBlock.Text = "Een eenvoudige TextBlock"; stackPanel.Children.Add (textBlock); // Maak onze knop Knop Knop = nieuwe Knop (); button.Margin = nieuwe dikte (20); button.Content = "Eenvoudige knop"; stackPanel.Children.Add (button);
Zoals u ziet, is het een beetje onhandiger in vergelijking met XAML en kunnen we het resultaat van onze wijzigingen niet direct zien. Je hebt misschien ook gemerkt dat het codeblok in C # bijna het dubbele is van de coderegels en dat het niet zo leesbaar is als het XAML-fragment dat we eerder zagen.
Voor de ontwikkeling van Windows Phone is XAML de aanbevolen manier om gebruikersinterfaces te maken. Het kan echter voorkomen dat we meer gecompliceerde besturingselementen moeten implementeren die moeilijk te maken zijn met XAML, bijvoorbeeld wanneer de besturing tot op zekere hoogte dynamisch moet zijn. Hoewel deze situaties minder vaak voorkomen, is het goed om te weten dat we kunnen terugvallen op C #.
XAML is een integraal onderdeel van de ontwikkeling van Windows Phone en een goed begrip is daarom essentieel. Ik raad u aan om de officiële XAML-documentatie van Microsoft te bekijken op het Windows Phone Dev Center. Het bevat diepgaande informatie over het gebruik van XAML voor de ontwikkeling van Windows Phone.
In deze zelfstudie hebben we een kijkje genomen naar de rol van XAML in de ontwikkeling van Windows Phone en hoe deze zich verhoudt tot C # om gebruikersinterfaces te maken. In de volgende tutorial zullen we blijven werken met XAML en grip krijgen op enkele van de meer gebruikelijke Windows Phone-besturingselementen, het gebruik ervan en de manier waarop deze worden geïmplementeerd in een Windows Phone 8-toepassing.