Programmierung einer Windows Store App mit C# und XAML



Ähnliche Dokumente
Microsoft Visual Studio Community 2015

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

Anleitung über den Umgang mit Schildern

Windows 10. Vortrag am Fleckenherbst Bürgertreff Neuhausen.

Wie halte ich Ordnung auf meiner Festplatte?

ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule

! " # $ " % & Nicki Wruck worldwidewruck

Online-Bestellung Tageskarten für Mitglieder des FC St. Pauli, die nicht im Besitz einer Dauer- oder Saisonkarte sind.

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

Kleines Handbuch zur Fotogalerie der Pixel AG

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Was meinen die Leute eigentlich mit: Grexit?

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Professionelle Seminare im Bereich MS-Office

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

1 Was ist das Mediencenter?

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

So richten Sie Outlook Express ein. Einrichten von Outlook Express (hier am Beispiel von Outlook Express 6) für den Empfang meiner s

Visual Basic Express Debugging

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Bauteilattribute als Sachdaten anzeigen

3 Grundlagen. 3.1 Die erste App

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Nach der Installation kann es auch schon losgehen. Für unseren Port Scanner erstellen wir zunächst ein neues Projekt:

Datei Erweiterungen Anzeigen!

So richten Sie Ihr Postfach im Mail-Programm Apple Mail ein:

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

GeoPilot (Android) die App

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt

Einführung zum Arbeiten mit Microsoft Visual C Express Edition

Anleitung: Sammel-Rechnungen für Lizenzen bei Swiss Basketball

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Erklärung zum Internet-Bestellschein

Anleitung RÄUME BUCHEN MIT OUTLOOK FÜR VERWALTUNGSANGESTELLTE

Memeo Instant Backup Kurzleitfaden. Schritt 1: Richten Sie Ihr kostenloses Memeo-Konto ein

Adminer: Installationsanleitung

Grundfunktionen und Bedienung

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Leichte-Sprache-Bilder

Tevalo Handbuch v 1.1 vom

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Blumen-bienen-Bären Academy. Kurzanleitung für Google Keyword Planer + Google Trends

Anwendungsbeispiele Buchhaltung

Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC.

DOKUMENTATION VOGELZUCHT 2015 PLUS

TREND SEARCH VISUALISIERUNG. von Ricardo Gantschew btk Berlin Dozent / Till Nagel

WOT Skinsetter. Nun, erstens, was brauchen Sie für dieses Tool zu arbeiten:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Qt-Projekte mit Visual Studio 2005

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Bei der Anlage von Pauschalen ist folgendes zu beachten!!!!!!!!

Benutzeranleitung Superadmin Tool

Arbeiten mit UMLed und Delphi

Ordner und Laufwerke aus dem Netzwerk einbinden

Ein Leitfaden für Anfänger unter Zuhilfenahme frei verfügbarer Software! (bei z.b. Google Microsoft Powertoys suchen, oder diesen Link verwenden )

Hex Datei mit Atmel Studio 6 erstellen

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

Neue Schriftarten installieren

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

Bedienungsanleitung für den SecureCourier

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Partitionieren in Vista und Windows 7/8

Einen Wiederherstellungspunktes erstellen & Rechner mit Hilfe eines Wiederherstellungspunktes zu einem früheren Zeitpunkt wieder herstellen

teamsync Kurzanleitung

Es gibt einige Kardinalstellen, an denen sich auf der Festplatte Müll ansammelt: Um einen Großteil davon zu bereinigen.

Installation der Konfigurationsdateien für alle Windows-Versionen bis einschließlich Microsoft Windows 7

EH2000 Ablauf am Morgen

Bedienungsanleitung für den Online-Shop

FEHLER! TEXTMARKE NICHT DEFINIERT.

1. Einschränkung für Mac-User ohne Office Dokumente hochladen, teilen und bearbeiten

So erstellen Sie nützliche Beschreibungen zu Ihren Tradingdaten

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

FORUM HANDREICHUNG (STAND: AUGUST 2013)

bilder.tibs.at Upload-Assistent

Kurzeinführung Moodle

Wenn wir also versuchen auf einen anderen PC zuzugreifen, dann können wir sowohl per Name als auch mit der Adresse suchen.

Ein Hinweis vorab: Mailkonfiguration am Beispiel von Thunderbird

EINFACHES HAUSHALT- KASSABUCH

Geld Verdienen im Internet leicht gemacht

Kurzeinführung Excel2App. Version 1.0.0

Wasserzeichen mit Paint-Shop-Pro 9 (geht auch mit den anderen Versionen. Allerdings könnten die Bezeichnungen und Ansichten etwas anders sein)

Anwendungsbeispiele Buchhaltung

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Ihr CMS für die eigene Facebook Page - 1

Carolo Knowledge Base

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung

Windows 8.1. Grundkurs kompakt. Markus Krimm, Peter Wies 1. Ausgabe, Januar inkl. zusätzlichem Übungsanhang K-W81-G-UA

Einkaufslisten verwalten. Tipps & Tricks

Das Leitbild vom Verein WIR

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Tutorial: Wie nutze ich den Mobile BusinessManager?

Seite Wo finde ich die Landingpage Auswahl? Seite Wie aktiviere ich eine Landingpage? Seite

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Dateien löschen und wiederherstellen

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Transkript:

Neuer Abschnitt 1 Seite 1 Programmierung einer Windows Store App mit C# und XAML Einleitung In diesem Fachbericht der im Rahmen meines 8 Wochen langem Praktikums entstand geht es um die Programmierung von Windows Store Apps, die,man auf Windows 8 Geräten verwendet. Ich schreibe über dieses Thema, da ich in meinem Praktikum eine solche App programmiert habe und mich somit in dieses Thema und die beiden verwendeten Sprachen eingearbeitet habe. C# und XAML Vorerst möchte ich etwas zu den beiden verwendeten Sprachen, C# und XAML sagen. C# ist eine Programmiersprache die von Microsoft für den.net Bereich entwickelt wurde und Konzepte von verschiedenen Programmiersprachen, wie Java, C++, C, und Delphi aufgreift. C# zählt ebenfalls wie C++ zu den objektorientierten Programmiersprachen und wird bei der Programmierung der Windows Store Apps neben C++ und Visual Basic für die Umsetzung der Logik verwendet. Die andere von mir verwendete Sprache, XAML oder auch Extensible Application Markup Language, ist eine, wie der Name schon vermuten lässt, Markup Language die zur Gestaltung der App Oberflächen genutzt wird. XAML wurde ebenfalls von Microsoft entwickelt und basiert auf XML. Windows Store Apps Windows Store Apps können aus dem Windows Store heruntergeladen werden und in der Metro Oberfläche, die auf allen Geräten die Windows 8 oder Windows 8.1 verwenden vorhanden ist, gestartet werden. Um Windows Store Apps zu programmieren muss jedoch vorerst eine kostenlose Entwicklerlizenz über das Microsoft Konto angefordert werden. Grundlagen der Programmierung von Windows Store Apps Allgemeine Architektur In diesem Abschnitt gehe ich näher auf die Architektur von Windows Store Apps ein und beschreibe anhand dieser Projektmappe die standardmäßige Dateistruktur einer solchen App.

Neuer Abschnitt 1 Seite 2 Die erste Datei in dem Solution Explorer ist die AssemblyInfo.cs die unter Properties liegt. Da diese Datei die Endung.cs hat handelt es sich um eine Codebehind-Datei der Properties. In den Properties kann man Standartnamespaces festlegen oder zum Beispiel den Namen der Anwendung ändern. Diese werden dann in der Codebehind-Datei eingetragen. Im nächsten Abschnitt unter Verweise findet man Verweise auf verschiedene Erweiterungen. Diese Erweiterungen können zum Beispiel Steuerelemente enthalten oder erweiterte Designmöglichkeiten. In dem Ordner Assets sind Bilder enthalten die zum Beispiel das Logo der App in der Metro Oberfläche festlegen. Ebenfalls werden hier Bilder die in der App verwendet werden abgelegt. Die Dateien mit dem ich mich in diesem Fachbericht hauptsächlich beschäftigen werde sind die MainPage.xaml, in der die Oberfläche erstellt wird, und die MainPage.xaml.cs, in der die Logik mithilfe von C# realisiert wird. Oberflächen Elemente XAML bietet verschiedene Oberflächenelemente die verschiedene Funktionalitäten erfüllen. Zum einen gibt es typische Elemente wie zum Beispiel Textboxen, Buttons, Checkboxen und vieles mehr. Zum anderen gibt es aber auch nicht so häufig verwendete Elemente wie den Slider der eine Scroll Leiste darstellt oder das Grid das mehrere Elemente zusammenfügt. Dies dient zum einem der Übersicht jedoch kann man dadurch auch alle untergeordneten Elemente mithilfe eines Befehls in der Codebehind ansprechen. Dieser könnte zum Beispiel so aussehen: Grids.Children.Clear();

Neuer Abschnitt 1 Seite 3 Grids.Children.Clear(); Dieser Code würde sobald er aufgerufen wird jedes Element oder auch Children eines Grids löschen. Events Eine weitere Möglichkeit die XAML bietet ist das Hinzufügen eines Events zu einem Element. In Visual Studio hat man 2 Möglichkeiten dies Umzusetzen, zum einen im XAML Code oder in dem Eigenschaftenfenster des Elements. Da Zweiteres langweilig wäre zeige ich hier nur die erste, meiner Meinung nach schnellere und bessere, Methode. Im XAML Markup wird für jedes Element eine Zeile angelegt. Für ein Button wäre dies zum Beispiel <Button x:name="buttonname" \>. Diese Zeile kann man nun beliebig erweitern zum Beispiel mit Content="ButtonInhalt" oder Margin="0,0,0,0". Diese Befehle legen den Inhalt des Buttons fest der Später in der Anwendung angezeigt wird und Richten in diesem Falle den Button mit 0 Pixeln Abstand zu jeder Seite aus was in diesem Falle einen ganzseitigen Button entsprechen würde. Das Event über das ich eigentlich schreiben wollte fügt man zum Beispiel mit dem Befehl Click="ClickEventName" hinzu. Durch diesen Befehl führt die Anwendung bei jedem Click auf den Button das Click Event, welches in der Codebehind realisiert wird, aus. Natürlich gibt es auch andere Eventhandler wie zum Beispiel Holding welches ein Event beim Halten eines Buttons auslöst. Events in der Codebehind private void Button_1_Click(object sender, RoutedEventArgs e) Ausgabe.Text += "1"; So sieht zum Beispiel ein Event in der Codebehind aus. Zuerst wird eine neue Funktion ohne Rückgabewert erstellt. Es ist wichtig das die Funktion den gleichen Namen hat wie der vorher festgelegte Eventhandler ansonsten kann der Compiler die Funktion nicht zuordnen. Die Beiden Übergabewerte werden standartmäßig übergeben sind jedoch in diesem Beispiel nicht von Nutzen und übergeben lediglich Informationen über das Element, im späteren Verlauf des Berichtes wird von mir das Objekt sender benutzt um den Inhalt des Buttons auszulesen, mehr dazu später. In den geschweiften Klammern verbirgt sich die Logik des Events. In diesem Falle wird dem Text einer Textbox mit dem Name Ausgabe eine 1 hinzugefügt. Nachdem man weiß wie man Elementen ein Eventhandler hinzufügt kann man mit der ersten Anwendung beginnen. Die erste App Um was für eine App handelt es sich? In diesem Kapitel erkläre ich wie man einen einfachen Taschenrechner, den ich während meiner Einarbeitungsphase in meinem Praktikum erstellt habe, in Form einer Windows Store App erstellen kann. Die App soll wie ein einfacher Taschenrechner funktionieren und zwei Zahlen zusammenrechnen. Mit dem Ergebnis soll danach natürlich ebenfalls weitergerechnet werden können.

Neuer Abschnitt 1 Seite 4 weitergerechnet werden können. Zusätzlich soll der Taschenrechner mehrere Funktionen aufweisen wie zum Beispiel eine Wurzelfunktion oder eine Delete Funktion die das letzte Zeichen löscht Die Oberfläche Dies ist die Oberfläche des Taschenrechners den ich in den folgenden Abschnitten erklären werde. Das XAML Markup Da es deutlich zu viel wäre jede einzelne Zeile des Markups zu erklären, werde ich in dem folgendem Abschnitt die einzelnen Markupzeilen für die verschiedenen Elemente erklären. <Button x:name="button_3" Content="3" HorizontalAlignment="Left" Height="74" Margin="386,136,0,0" Grid.Row="1" VerticalAlignment="Top" Width="108" Click="Button_Zahl_Click"/> Dieses Markup initialisiert zum Beispiel einen Button mit dem Inhalt 3 der durch "Content="3"" festgelegt wird. Der Inhalt wird später auf dem Button angezeigt. Der Rest in dieser Zeile legt die Ausrichtung und Form des Buttons fest, bis auf Click=" ". Durch "Click" wird, wie im Abschnitt Events schon beschrieben, ein Event festgelegt welches ich im späterem Verlauf vorstellen werden. Diesen Button kann man nun mit abweichendem Event, Name und Inhalt erstellen bis man alle benötigten Buttons zusammen hat. Für eine Vernünftige Ausgabe des Ergebnisses muss noch ein "TextBlock" erstellt werden. Dies habe ich in diesem Fall so gelöst: <TextBlock x:name="ausgabe" HorizontalAlignment="Left" Height="64" Margin="126,32,0,0" Grid.Row="1" TextWrapping="Wrap" VerticalAlignment="Top" Width="586" Foreground="#FFEEE1E1" FontSize="48"/> Für diesen Text Block muss kein Event festgelegt werden, somit wird lediglich Ausrichtung und Aussehen der Schrift definiert und dem Element ein Name gegeben. In diesem Falle ist es wichtig dem Element auch einen Namen zuzuordnen damit man es

Neuer Abschnitt 1 Seite 5 In diesem Falle ist es wichtig dem Element auch einen Namen zuzuordnen damit man es später in der Codebehind auch ansprechen kann. Somit hätte man alle wichtigen Elemente erstellt und kann nun die Logik für das Programm entwickeln. Der C# Code In diesem Abschnitt werde ich die Logik des Taschenrechners genauer erklären. Als erstes fange ich mit den Nummernblock an. Der Code für diesen Nummernblock sieht folgender maßen aus: private void Button_Zahl_Click(object sender, RoutedEventArgs e) Ausgabe.Text += (string)((button)sender).content; In dieser Funktion wird dem Textblock Ausgabe mithilfe einer Operatorüberladung der Aktuelle Content also der Inhalt des geklickten Buttons hinzugefügt. Ausgabe.Text beschreibt hier den Text der in dem Textblock steht. Diesem wird durch die Operatoren "+=",die dem ursprünglichem Text ein Zeichen oder einen String hinzufügen, der Inhalt des aktuellen Buttons als String hinzugefügt. Der Inhalt des aktuellen Buttons wird durch ((Button)sender).Content angesprochen und durch (string) als String festgelegt. Somit wird dem Ausgabestring die im Content enthaltende Zahl hinzugefügt. Nun erkläre ich anhand des folgenden Codes wie Operatoren hinzugefügt werden und was dabei alles passiert. private void Button_Min_Click(object sender, RoutedEventArgs e) zahl_1 = Convert.ToDouble(Ausgabe.Text); Ausgabe.Text = String.Empty; oper += "-"; In dieser Funktion wird der aktuelle String zu einem Double-Wert konvertiert und in der variable zahl_1 abgespeichert. Hiernach wird der Ausgabestring gelöscht bzw. geleert durch String.Empty und die Variable oper wird gleich "-" gesetzt. Dies geschieht jedoch nur wenn die Länge des Ausgabestrings größer als Eins ist da die Anwendung sonst auf einen Fehler laufen würde und abstürzt. Der Fehler entsteht dadurch das in Ausgabe.Text kein Wert vorhanden ist und Convert.ToDouble somit auf einen Fehler verursacht weil die Konvertierung fehlschlägt. Die anderen Operatoren werden ebenso behandelt nur das in der Variable ein anderer Wert eingespeichert wird. Das Event das beide Zahlen zusammenrechnet wird durch einen Klick auf den Button mit dem Gleichheitszeichen ausgelöst und sieht folgendermaßen aus: private void Button_Gleich_Click(object sender, RoutedEventArgs e) zahl_2 = Convert.ToDouble(Ausgabe.Text);

Neuer Abschnitt 1 Seite 6 if (oper == "+") Ausgabe.Text = Convert.ToString(zahl_1 + zahl_2); zahl_1 = zahl_2 + zahl_1; if (oper == "-") Ausgabe.Text = Convert.ToString(zahl_1 - zahl_2); zahl_1 = zahl_2 - zahl_1; if (oper == "*") Ausgabe.Text = Convert.ToString(zahl_1 * zahl_2); zahl_1 = zahl_2 * zahl_1; if (oper == "/" && zahl_2!=0) Ausgabe.Text = Convert.ToString(zahl_1 / zahl_2); zahl_1 = zahl_2 / zahl_1; if (oper == "/" && zahl_2 == 0) Errorfield.Text="Error"; In diesem Event wird zuerst überprüft ob etwas in dem String steht der später in Zahl 2 abgespeichert werden soll da die Anwendung sonst auf den vorhin erklärten Fehler laufen würde. Danach wird der aktuelle Ausgabestring in zahl_2 abgespeichert und überprüft welcher Operator ausgewählt wurde. Je nachdem welche Auswahl getroffen wurde werden die beiden Zahlen zusammengerechnet und der Ausgabestring wird mit dem Ergebnis der Rechnung überschrieben, somit erscheint die Lösung in dem Textblock. Um eine Falscheingabe anzuzeigen habe ich im XAML- Markup ein weiteren Textblock hinzugefügt in dem Error angezeigt wird sobald durch 0 geteilt wird. Am Ende des Events wird nun das Ergebnis in der Variable Zahl_1 abgespeichert damit mit dem Ergebnis weitergerechnet werden kann. Damit hätte ich bis hierhin die Grundfunktionen des Taschenrechners erklärt, fehlen also noch die zusätzlichen Funktionen. Zum einen wäre da die Wurzelfunktion in ihr wird lediglich die Wurzel aus dem aktuellem

Neuer Abschnitt 1 Seite 7 Zum einen wäre da die Wurzelfunktion in ihr wird lediglich die Wurzel aus dem aktuellem Ausgabestringwert gezogen und ausgegeben hierbei wird diese kurzzeitig zu einem Double-Wert konvertiert und danach wieder zu einem String da ein Textblock nur Strings verarbeiten kann. private void Button_Click_2(object sender, RoutedEventArgs e) Ausgabe.Text = (Convert.ToString(Math.Sqrt(Convert.ToInt32(Ausgabe.Text)))); Die nächste Funktion die ich erklären möchte ist die Deletefunktion die das letzte Zeichen löscht. Da ich Zeit und Nerven sparen wollte habe ich es mit bereits vorhandenen Funktionen realisiert. private void Button_Click_1(object sender, RoutedEventArgs e) Ausgabe.Text = Ausgabe.Text.Remove(Ausgabe.Text.Length - 1); Diese Funktion löscht den letzten Wert aus dem String und verkürzt ihn somit um 1 Zeichen. Schlusswort In diesem Praktikum habe ich viel an Apps gearbeitet und dabei viel gelernt, leider konnte ich mein Hauptarbeitswerk aus rechtlichen Gründen nicht verwenden und musste diesen Bericht leider auf dem Taschenrechner beruhen lassen. Ich hoffe das dieser Bericht dadurch nicht weniger informativ ist und einen guten Einblick in die Programmierung von Windows Store Apps verschafft.