App Studio ist eine neue Version des Online-Anwendungsdesigners von Microsoft. Erstellen von Windows-Anwendungen

💖 Gefällt es dir? Teilen Sie den Link mit Ihren Freunden

Erstellen einer Visual Studio-Anwendung mit Fenster

Einführung in die Erstellung von Fensteranwendungen

API-Funktionen für die Arbeit mit der Konsole

Fensteranwendungsstruktur

Fenstersteuerung

Grafiken in Fensteranwendungen

Im Windows-Betriebssystem sind 3 Arten von Programmstrukturen möglich:

  • Dialog (Hauptfenster - Dialog),
  • freitragende oder fensterlose Struktur,
  • klassische (Fenster-, Rahmen-)Struktur

Konversationsanwendungen für Windows verfügen über eine minimale Benutzeroberfläche und übermitteln Informationen an den Benutzer über Standarddialogfelder (z. B. das Meldungsfeld MessageBox()). Das Programm arbeitet „blind“.

Nicht-Fensteranwendungen (Konsolenanwendungen). ist ein Programm, das im Textmodus ausgeführt wird. Die Bedienung der Konsolenanwendung ähnelt der Bedienung eines MS-DOS-Programms. Aber das ist nur ein äußerer Eindruck. Die Konsolenanwendung ist mit Sonderfunktionen ausgestattet Windows-Funktionen. Konsolenanwendungen sind ein System von Mitteln zur Benutzerinteraktion mit einem Computer, basierend auf der Verwendung eines Textanzeigemodus (alphanumerisch) oder ähnlichem (MS-DOS-Befehlszeile, Far). Konsolenanwendungen sind nicht nur in kompilierter Form, sondern auch in Textform sehr kompakt und verfügen über die gleiche Fähigkeit, über API-Funktionen auf Windows-Ressourcen zuzugreifen wie Fensteranwendungen.

Fenster-(Rahmen-)Anwendungen basieren auf einem speziellen Satz von API-Funktionen, aus denen sich zusammensetzt GUI Benutzer (GUI, Graphic User Interface). Das Hauptelement einer solchen Anwendung ist das Fenster. Ein Fenster kann Steuerelemente enthalten: Schaltflächen, Listen, Bearbeitungsfenster usw. Diese Elemente sind eigentlich auch Fenster, jedoch mit besonderen Eigenschaften. Ereignisse, die bei diesen Elementen (und dem Fenster selbst) auftreten, führen dazu, dass Meldungen an die Fensterprozedur gesendet werden.

Der Unterschied zwischen Fenster- und Konsolen-Windows-Anwendungen besteht darin, mit welcher Art von Informationen sie arbeiten.

Es gibt die Meinung, dass Smartphones mit Microsoft-Betriebssystem im wirklichen Leben genauso häufig anzutreffen sind wie Menschen mit dem Patronym „Artemovich“. Seltsame (um es milde auszudrücken) Politik der „Evil Corporation“ in Bezug auf die siebte und achte Mobiltelefonfamilie Betriebssystem hat viele Nutzer davon abgehalten, mit „Windows“ für Smartphones zu experimentieren, und nun hat sich der Konzern ernsthaft mit der Imagekorrektur in dieser Nutzernische beschäftigt. Als unterirdischer Microsoft-Fan hoffe ich, dass für sie alles gut wird – die „Top Ten“ marschieren um den Planeten, ihr Haupttrumpf ist ein Kern für alle Plattformen und daher hat sie alle Chancen, einen guten Teil zu gewinnen des Mobilfunkmarktes. Und als Programmierer verfasse ich gerne einen Einführungsartikel zur Entwicklung dieser mobilen Achse für Sie, damit Sie immer auf die wachsende Popularität vorbereitet sind :).

Architekturübersicht

Dank des gemeinsamen Kern- und UWP-Anwendungslaufzeitsystems läuft die Anwendung nach dem Schreiben auf allen Geräten darunter Windows-Steuerung 10. Dieses Sortiment umfasst:

  • Desktop-Computer;
  • Serversysteme - Betriebssystem Windows Server 2016;
  • Laptops – MS Surface Book;
  • Tablets - MS Surface Pro;
  • Smartphones - Lumia;
  • Spielekonsolen – Xbox One;
  • Augmented-Reality-Brille – MS HoloLens;
  • Wandtabletts – MS Surface Hub;
  • Smartwatch - MS Band 2.

Die Liste ist beeindruckend. Darüber hinaus ist UWP nicht auf die Ausführung von Anwendungsprogrammen beschränkt, sondern unterstützt auch den Betrieb von Treibern auf Kernel-Ebene. Auf diese Weise können Sie funktionsfähige Treiber erstellen verschiedene Geräte, sofern es sich um die spezifische Komponente handelt, für die es bestimmt ist dieser Treiber, das gleiche.

UWP unterstützt sowohl Treiber auf Kernel- als auch auf Benutzerebene. Das Subsystem umfasst Gerätetreiberschnittstellen (DDI), die der Treiber für UWP nutzen kann.

Das alles erspart dem Entwickler jedoch nicht die Anpassung der Benutzeroberfläche an bestimmte Plattformen und Bildschirmauflösungen. In einigen Sonderfällen ist dies möglicherweise nicht erforderlich.

Entwicklerwerkzeuge

Um Anwendungen für Windows 10 Mobile zu schreiben, zu debuggen, bereitzustellen und zu testen, benötigen Sie Visual Studio 2015 (wer würde das bezweifeln). Diesen Sommer wurde das dritte Update veröffentlicht. Ich kann es wärmstens empfehlen! Der wichtigste Bugfix ist der geringere Speicherverbrauch im Vergleich zum zweiten Update.

Sie werden auch brauchen Windows 10 Anniversary Update SDK: Es enthält alle notwendigen Tools zum Entwickeln von Anwendungen für die gesamte Geräteflotte mit Windows 10. Wenn Sie VS 2015 mit dem dritten Update verwenden, ist das neueste SDK bereits enthalten.

Eine der wichtigsten Neuerungen ist Windows Ink. Mit dieser API können Sie Stiftunterstützung in zwei Codezeilen hinzufügen. Hierfür gibt es zwei Steuerobjekte: InkCanvas und InkToolbar.

Die neue Cortana-API erleichtert die Implementierung der Sprachsteuerung. Mit der Cortana-Aktionskomponente in der neuen API können Sie neue Phrasen/Ausdrücke erstellen.

Die biometrische Authentifizierung von Windows Hello steht Webentwicklern jetzt im Edge-Browser zur Verfügung.

Blend für Visual Studio 2015, ein Tool zur Modellierung von Benutzeroberflächen, bietet im Vergleich zu VS erweiterte UI-Designfunktionen. Mit seiner Hilfe können Sie Layouts in XAML für alle unterstützten Anwendungen erstellen: Anwendung, Web, Universal, Mobil usw. Es enthält auch Konstruktoren für zusätzliche Aufgaben, darunter das Erstellen von Animationen und das Steuern des Verhaltens von Elementen.

Möglichkeiten zum Erstellen von Apps für Windows 10 Mobile

Die Hauptmethode zum Erstellen von Anwendungen für Smartphones mit Windows 10 Mobile ist die Entwicklung Universelle (UWP) Apps(Scrollen Sie durch Visual C# → Windows → Universelle Assistenten für neue Projekte).

Allerdings ist er nicht der Einzige. Wie Sie wissen, ist Xamarin in Visual Studio 2015 integriert. Mit seiner Hilfe können Sie auch Anwendungen für Windows 10 Mobile und gleichzeitig für Android und iOS erstellen, indem Sie die Benutzeroberfläche ändern und die Programmlogik in C# belassen (Visual C# → Cross-Platform).

Neben der Sprache Visual C# stehen gleichermaßen Visual Basic oder Visual C++ zur Auswahl. Mit VS 2015 können Sie vielseitige Anwendungen erstellen mit JavaScript(JavaScript → Windows → Universelle Apps). Sie können auch auf einem Windows 10 Mobile-Gerät bereitgestellt werden.

Tools für die Arbeit mit Legacy-Projekten

Über die lange Geschichte des Operationssaals Windows-Systeme Dafür wurde eine enorme Anzahl verschiedener Anwendungen erstellt. Mit der Veröffentlichung von Windows 8 und WinRT (und später Windows 10 und UWP) gehören alte klassische Anwendungen der Vergangenheit an, da nur Desktop-Win 8 und Win 10 klassische Win32-, COM- und .NET-Anwendungen unterstützen. Das machte Microsoft traurig. Aber die Jungs erkannten, dass sie einen Konverter entwickeln konnten, der alte Anwendungen für das neue erweiterte UWP-Subsystem konvertieren würde. Daraus wurde geboren Desktop-App-Konverter.

Das Konvertieren eines Xcode-Projekts erfolgt in zwei Schritten. Zuerst müssen Sie Syntaxhervorhebung für die Objective-C-Sprache in Visual Studio hinzufügen: Installieren Sie die Erweiterung objc-syntax-highlighting.vsix aus dem Ordner winobjc\bin. Dann mit dem Dienstprogramm Befehlszeile vsimporter.exe muss das Xcode-Projekt in ein VS-Projekt konvertieren. Anschließend kann die resultierende SLN-Datei im Studio geöffnet werden, wobei die Objective-C-Syntax hervorgehoben wird. Sie können die Anwendung erstellen und ausführen. Sie läuft wie alle anderen Windows-Programme.

Verdammt, wie toll es ist, den Objective-C-Code in Visual Studio richtig hervorgehoben zu sehen!

Zum Kompilieren von Obj-C-Code wird ein kostenloser Compiler verwendet Klirren. Da es sich bei der Ausgabe um eine Standard-UWP-Anwendung handelt, können Sie sie darauf ausführen Mobilgerät V Windows-Umgebung 10 Mobil. Ein Programm kann Code in C++ und Obj-C enthalten.

Wenn Sie ein Projekt für die Vergangenheit haben Windows-Versionen Telefon, also 8.1 (oder 8.0), und wenn Sie es dann in VS 2015 öffnen, aktualisiert das Studio das Projekt automatisch, sodass es den Anforderungen des Universals entspricht Windows-Anwendungen(UWP). Dabei wird nicht nur das User Interface Markup in XAML konvertiert, sondern auch die Programmlogik in JS/C++/C#/VB. Wenn im Code Aufrufe an das WinRT-Subsystem vorhanden waren, werden diese in UWP-Aufrufe umgewandelt.

Es gibt noch eine weitere häufige Art von Anwendungen – Spiele. iOS und Android rendern über eine Low-Level-OpenGL-Schnittstelle. Unter Windows 10 Mobile hingegen wird DirectX 11 zur Darstellung von Bildern in Spielen verwendet. Dies führt zu Inkompatibilität. Doch es gibt eine Lösung – das Open-Source-Projekt ANGLE. ANGLE (Almost Native Graphics Layer Engine) – eine nahezu native Grafik-Layer-Engine – ermöglicht Windows-Benutzer Führen Sie OpenGL ES-Anwendungen nahtlos auf Hardware aus, auf der DirectX 11 ausgeführt wird. Dies wird durch die Konvertierung von Aufrufen von der OpenGL ES-API in die DirectX 11-API erreicht. ANGLE unterstützt die folgenden drei Arten von Anwendungen vollständig:

  • universelle Anwendungen für Windows 10 (universelle Windows-Apps);
  • Anwendungen für Windows 8.1 und Windows Phone 8.1;
  • klassische Desktop-Apps Windows-Desktop(Windows-Desktopanwendungen).

Das Thema wird in meinem Buch „The Magic of Torque“ ausführlicher besprochen (wiederum bewerben Sie Ihr Buch! Na gut, Sie haben es verdient. - Ed.).

Die Fortsetzung des Artikels ist nur für Abonnenten verfügbar

Option 1: Abonnieren Sie Hacker, um alle Artikel auf der Website zu lesen

Mit dem Abonnement können Sie für den angegebenen Zeitraum ALLE kostenpflichtigen Materialien auf der Website, einschließlich dieses Artikels, lesen. Wir akzeptieren Zahlungen Bankkarten, elektronisches Geld und Überweisungen von Mobilfunkbetreiberkonten.

Wählen Sie im Dialogfeld „Neues Projekt Visual Studio“ Visual C#, Silverlight für Windows Phone und eine einfache Windows Phone-Anwendungsvorlage aus und nennen Sie sie „ExploringXAMLFeatures“.


Wählen Sie im Auswahldialog des Zielbetriebssystems Windows Phone OS 7.1 aus


Nach dem Erstellen des Projekts sieht das Visual Studio-Fenster folgendermaßen aus:


Schauen wir uns die Projektstruktur im Projektmappen-Explorer-Fenster an:

Dateiname Zweck
AppManifest.xmlDie Manifestdatei, die zum Generieren der XAP-Datei erforderlich ist, in die die Anwendung für die Bereitstellung auf dem Telefon gepackt wird.
AssemblyInfo.csEine weitere Konfigurationsdatei, die einige Metadaten der Hauptassembly der Anwendung definiert.
WMAppManifest.xmlEine Metadatendatei, die verschiedene Anwendungseinstellungen enthält: Titel, Einstellung der ersten Seite, Pfade zu Symbolen, Definition des Notwendigen Systemfunktionen usw.
App.xamlDies ist die Anwendungsressourcendatei. Hier befinden sich globale Ressourcen (dies wird bei der Verwendung von Stilen besprochen) oder globale Ereignisse (die beim Start der Anwendung auftreten). Diese Datei ist auch der Einstiegspunkt der Anwendung.
App.xaml.csCodedatei (Code-Behind) für App.xaml. Hier können Sie Ereignisse und Fehler auf Anwendungsebene behandeln, einschließlich Anwendungs-Tombstoning. Dieses Konzept wird später besprochen, wenn Multitasking besprochen wird.
ApplicationIcon.pngEin Bild, das als Anwendungssymbol auf dem Telefon dient. Dies ist eine wirklich wichtige Datei, da sie das Erste ist, was Benutzer sehen, wenn sie mit der Anwendung arbeiten.
Hintergrund.pngDieses Bild wird verwendet, wenn die Anwendung an den Startbildschirm des Telefons angeheftet wird. Dies ist im Wesentlichen ein großes Anwendungssymbol. Es ist sinnvoll, es optisch an ApplicationIcon.png anzugleichen.
MainPage.xamlDies ist Teil der ausgewählten Bewerbungsvorlage. MainPaige ist kein sehr guter Name, wird aber von der Standardprojektvorlage verwendet. Diese Seite stellt die Schnittstelle dar, die der Benutzer sieht, wenn er die Anwendung startet.
MainPage.xaml.csMainPage.xaml-Seitencodedatei.
SplashScreenImage.jpgDieses Bild wird angezeigt, während die Anwendung geladen wird. Sie können Ihr eigenes Bild mit Animation einstellen, um darüber zu informieren, dass die Anwendung geladen wird. Es gibt eine Technik zum Erstellen sehr dynamischer Ladeseiten in XNA, die jedoch den Rahmen dieser Artikelserie sprengt.

XAML-Dateien definieren die Schnittstelle der Anwendung. Eigentlich ist es einfach XML-Dateien mit XAML-Markup-Sprache.

Obwohl dies das einfachste Projekt ist, enthält es alle Schlüsselelemente, die alle anderen Vorlagen und Projekttypen enthalten.

Bitte beachten Sie, dass einige der im Formular dargestellten Einstellungen Konfigurationsdateien, kann in der visuellen Oberfläche zum Bearbeiten von Anwendungseinstellungen bearbeitet werden.

Hinzufügen von Steuerelementen zu einer XAML-Seite

Beachten Sie, dass Visual Studio standardmäßig sowohl das Design als auch XAML der Seite rendert.

Wenn Sie zu anderen Lösungsdateien navigiert sind, doppelklicken Sie auf die Datei MainPage.xaml.

Fügen Sie im XAML-Code der Datei „MainPage.xaml“ innerhalb eines Grid-Elements namens „ContentPanel“ ein Button-Steuerelement ein:

Im Designfenster erscheint die Schaltfläche sofort ungefähr in der Mitte der Oberfläche. Achten Sie auf das Attribut Name? Dies ist die eindeutige Kennung des Elements, mit deren Hilfe Sie es im Code referenzieren können. Betrachten Sie dies als das ID-Attribut des Steuerelements. Fügen wir nun eine Aktion hinzu, wenn auf diese Schaltfläche geklickt wird. Es gibt zwei Möglichkeiten, ein Ereignis an einen Button (oder ein anderes Steuerelement) zu binden. In XAML können wir direkt in der Button-Definition ein Click-Attribut hinzufügen und InteliSense fragt automatisch, ob wir einen neuen Event-Handler generieren möchten:


Sie können den Ereignishandler direkt in den Seitencode „Home.xaml.cs“ binden, ohne ihn in der XAML-Datei anzugeben:

Public MainPage() ( InitializeComponent(); MyButton.Click +=new RoutedEventHandler(MyButton_Click); )

Beide Methoden funktionieren. Sie können jedes davon verwenden. Der Einfachheit halber verwenden wir hier die XAML-Methodendefinition. Sie können jetzt verwalteten Code in die MyButton_Click-Funktion schreiben, der die Schnittstelle ändert oder andere Funktionen aufruft. Vervollständigen wir unsere Beispielanwendung, indem wir Code hinzufügen, der den Text im TextBlock PageTitle (PageTitle ist ein Name, sodass Sie ihn direkt im Code referenzieren können) in „hello wp7“ ändert. Fügen Sie dazu den folgenden Code zur Funktion hinzu:

Private void MyButton_Click(object sender, RoutedEventArgs e) ( PageTitle.Text = "hello wp7"; )

In den Projekteinstellungen auswählen Windows-Gerät Emulator

Und starten Sie die Anwendung, indem Sie auf das grüne Dreieck oder die F5-Taste klicken. Nachdem Sie die Anwendung gestartet und auf die Schaltfläche „Drücken Sie mich“ geklickt haben, sollte der Bildschirm etwa wie im Screenshot unten aussehen:

Neue Seiten zu einem Projekt hinzufügen

Nur die einfachste Bewerbung besteht aus einer Seite. Wir wollen lernen, wie man komplexe mehrseitige Anwendungen schreibt. Wir können die Pivot- und Panorama-Vorlagen verwenden, wir können das MVVM-Entwurfsmuster (Model-View-ViewModel) verwenden und zunächst lernen wir, wie man dem Projekt neue Seiten hinzufügt und zwischen ihnen wechselt.

Klicken Sie im Projektmappen-Explorer-Fenster mit der rechten Maustaste auf den Projektnamen und wählen Sie im angezeigten Menü „Hinzufügen“ und dann „Neues Element“ aus. Wählen Sie im sich öffnenden Dialogfeld „Windows Phone Portrait Page“ aus und nennen Sie sie „SecondPage.xaml“:


Wir haben jetzt eine leere XAML-Seite, eine exakte Kopie der Seite „MainPage.xaml“, bevor wir sie bearbeitet haben.

Um die Seiten besser unterscheiden zu können, gehen wir zum XAML-Code der SecondPage-Seite und bearbeiten das TextBlock-Element mit dem Namen PageTitle Texteigenschaft wie nachstehend:

Navigation zwischen Anwendungsseiten

Wir haben also zwei Seiten im Projekt. Wenn die Anwendung gestartet wird, wird die Seite „MainPage.xaml“ angezeigt. Wie kann ich jetzt von MainPage.xaml zu SecondPage.xaml wechseln?

Versuchen wir es mit zwei einfache Wege, Wie kann man es machen.

Fügen Sie im XAML-Code der Datei MainPage.xaml nach dem zuvor hinzugefügten Button-Code den HyperlinkButton-Code wie unten gezeigt hinzu:

Freunden erzählen