WPF-Tutorial für Anfänger: So erstellen Sie eine Anwendung [Beispiel]

Was ist WPF?

WPF ist ein Rahmenwerk zum Bauen Windows Anwendungen, mit denen Benutzer umfangreiche Benutzeroberflächen mit 3D-Animationen und satten Farben mit weniger Codekomplexität entwickeln können. Es handelt sich um eine vektorbasierte Rendering-Engine, die die Hardwarebeschleunigung moderner Grafikkarten nutzt, wodurch die Ul schneller und hochgradig skalierbar wird. WPF steht für Windows Präsentation Foundation.

WPF kann als eine Weiterentwicklung von WinForms betrachtet werden. Es produziert ein einfach zu bedienendes grafisches Anzeigesystem für Windows. Es bietet eine einfache Trennung zwischen Benutzeroberfläche und Geschäftslogik.

WPF-Anwendungen können in Ihrem System als eigenständiges Desktopprogramm bereitgestellt oder als eingebettetes Objekt auf einer Website gehostet werden.

Warum WPF?

Es gibt viele Gründe für die Verwendung der WPF-Plattform. Einige der wichtigsten sind:

  • Eine ideale Plattform, wenn Sie mit verschiedenen Medientypen arbeiten müssen
  • Mit WPF können Sie eine Skin-Benutzeroberfläche erstellen. Es hilft Ihnen auch, wenn Sie einen Teil der Benutzeroberfläche laden müssen oder XML-Daten binden möchten
  • Dadurch können Sie die Vorteile der großen .NET-Klassenbibliothek nutzen, auf der sie aufbaut .NET-Technologie
  • Auflösungsunabhängigkeit, sodass mit WMF entwickelte Anwendungen auf mobilen Geräten oder einem 20-Zoll-Monitor ausgeführt werden können
  • WPF baut auf DirectX statt auf WinAPI auf. Es bietet das Grafiksystem des Client-Computers. Bietet daher eine höhere Grafikwiedergabeleistung
  • Unterstützt ein Flow-Dokumentmodell, das eine „Desktop-Publishing“-Qualität des Layouts ermöglicht
  • Aussehen und Verhalten sind lose gekoppelt. Dadurch können Designer und Entwickler an zwei separaten Modellen arbeiten
  • Im WMF-Framework können Sie Tools grafisch für einfache XML-Dokumente entwerfen, anstatt Code zu analysieren
  • Ermöglicht die Verwendung der Hardwarebeschleunigung zum Zeichnen der GUI für eine bessere Leistung

Geschichte von WPF

Windows 1.0 war die erste GUI-Umgebung von Microsoft. Es arbeitet als Schicht über DOS und stützt sich für die Grafik- und Benutzeroberfläche auf die Systeme GDI und USER.

DirectX wurde im Jahr 1995 als Hochleistungsgrafiksystem eingeführt. Es war auf Spiele und andere grafikbezogene Umgebungen ausgerichtet. Im Laufe der Jahre wurden viele Versionen mit Directx9 veröffentlicht, die eine Bibliothek zur Verwendung mit mange.Net-Code bereitstellen.

WPF-Version Erscheinungsjahr .Net-Version Visual Studio-Version Eigenschaften
3.0 2006 3.0 N / A Erstveröffentlichung.
Die WPF-Entwicklung kann jedoch mit VS 2005 durchgeführt werden.
3.5 2007 3.5 GEGEN 2008 Änderungen und Verbesserungen in:
Anwendungsmodell, Bindung, Steuerelemente, Dokumente, Anmerkungen und 3D-UL-Elemente.
3.5 SP1 2008 3.5 SP1 N / A Native Unterstützung für Begrüßungsbildschirme. Neue Webbrowser-Steuerung, DirectX-Pixel-Shader-Unterstützung.
4.0 2010 4.0 GEGEN 2010 Neue Steuerelemente: Kalender. DataGrid, DatePicker. Multi-Touch und Manipulation
4.5 2012 4.5 GEGEN 2012 Schnellere Einrichtungszeit und verbesserte Leistung für Bitmap-Effekte. Neue Steuerelemente: Kalender. DataGrid, DatePicker.
Multi-Touch und Manipulation
4.5.1 2013 4.5.1 GEGEN 2013 Neues Ribbon-Steuerelement
Neue INotifyDataErrorlnfo-Schnittstelle
4.5.2 2014 4.5.2 NA Keine wesentliche Änderung
Keine wesentliche Änderung
4.6 2015 4.6 GEGEN 2015 Transparente Unterstützung für untergeordnete Fenster
HDPI- und Touch-Verbesserungen

Die neueste stabile Version von WPF 5.0.6, die im April 2021 veröffentlicht wird.

Funktionen von WPF

Funktionen von WPF
Funktionen von WPF
  • Dokumente und Drucken
  • Sicherheit, Zugänglichkeit und Lokalisierung
  • Bietet Interoperabilität mit Windows Formularsteuerelemente
  • Direct3D wird in grafischen Anwendungen verwendet, bei denen Leistung wichtig ist
  • Verwendet die Grafikkartenhardware zum Rendern
  • Mithilfe vektorbasierter Grafiken können Sie Ihre Anwendung ohne Qualitätsverlust skalieren
  • WPF unterstützt das logische Gleitkomma-Pixelsystem und 32-Bit-ARGB-Farbe
  • Definieren Sie Stile und Steuerelementvorlagen neu
  • Erstellen internationaler Schriftarten aus zusammengesetzten Schriftarten
  • Mit der WPF-Textwiedergabe können Sie die Vorteile der ClearType-Technologie nutzen
  • Ermöglicht die Verwendung der Caching-Technik von vorgerendertem Text im Videospeicher
  • Ressourcenbasierter Ansatz für jede Kontrolle
  • Präsentations-Timer werden von WPF initialisiert und verwaltet
  • Auch die Beziehung zwischen Video und Animation wird unterstützt
  • In WPF ist ein Stil eine Reihe von Eigenschaften, die auf Inhalte angewendet werden sollten, die für die visuelle Darstellung verwendet werden
  • Mithilfe von Vorlagen in WPF können Sie die Ul Ihres Dokuments ändern
  • Befehle sind abstraktere und lose gekoppelte Versionen von Ereignissen
  • Die WPF-Unterstützung für Befehle reduziert die Menge an Code, die wir schreiben müssen

Weiter in diesem WPF C#-Tutorial, lernen wir etwas über WPF-Kerntypen und Infrastruktur.

WPF-Kerntypen und -Infrastrukturen

Klassen in WPF werden in vier verschiedene Typen unterteilt:

  • UIElement
  • FrameworkElement
  • ContentElement
  • FrameworkContentElement

Diese Klassen werden als Basiselementklassen bezeichnet. Sie bilden die Grundlage für ein Modell zur Zusammenstellung von Benutzeroberflächen.

WPF-Benutzeroberflächen bestehen aus Elementen, die in einer Baumhierarchie zusammengestellt sind. Man nennt ihn den Elementbaum. Der Elementbaum ist eine intuitive Möglichkeit, die Benutzeroberfläche zu gestalten. Es handelt sich um eine Struktur, die es Ihnen ermöglicht, die Funktion leistungsstarker UI-Dienste zu nutzen.

XAML

Die Extensible Application Markup Language namens „XAML“ oder „Zammel“ ist eine deklarative Methode zur Definition von Benutzeroberflächen.

Hier ist die XAML-Definition einer einfachen Schaltfläche:

<Button
FontSize="16"
HorizontalAlignment="Center"
VerticalAlignment="Center"
>
Say Hello Guru99</Button>

Vorteil der Verwendung der XAML-Sprache:

  • XAML trennt das Front-End-Erscheinungsbild von der Back-End-Logik
  • XAML ist die einfachste Methode zur Darstellung von Benutzeroberflächen
  • XAML ermöglicht die effektive Arbeit mit Tools

Steuergriffe

Das WPF-Framework unterstützt viele nützliche Steuerelemente wie:

  • Bearbeitungssteuerelemente wie TextBox, ÜberprüfenBox, Radio knopf
  • Listensteuerelemente wie ListBox, ListView, TreeView
  • Benutzerinformationen wie Label, WPF ProgressBar, ToolTip
  • Aktionen wie Menü, Schaltfläche und Symbolleiste
  • Erscheinungsbilder wie Rahmen, WPF-Bild und Ansichtsbox
  • Allgemeine Dialogfelder wie OpenFileDialog und PrintDialog.
  • Container wie TabContro, ScrollBar und GroupBox
  • Layouts wie DocPanel, StackPanel und Grid
  • Navigation wie Frame und Hyperlink

Das Erscheinungsbild von Steuerelementen kann ohne Programmierung mit Stilen und Vorlagen angepasst werden. Sie können ein benutzerdefiniertes Steuerelement auch erstellen, indem Sie eine neue Klasse von einer entsprechenden Basisklasse ableiten.

Aussehen

WPF bietet eine Funktion zum Anpassen des Erscheinungsbilds Ihrer Anwendung. Es ermöglicht Ihnen, Objekte und Werte für Dinge wie Schriftarten, Hintergründe usw. festzulegen.

Mit der Stilfunktion können Sie einen bestimmten Look für das gesamte Produkt standardisieren. Es ermöglicht Ihnen, das Standard-Erscheinungsbild zu ersetzen und dabei das Standardverhalten beizubehalten.

Mit Datenvorlagen können Sie die Standardvisualisierung der gebundenen Daten steuern. Mithilfe von Designs können Sie Stile aus dem Betriebssystem problemlos visualisieren.

Layout und Panels

Das Layout hilft Ihnen bei der richtigen Positionierung und Größenkontrolle. Es ist Teil des Prozesses, die Präsentation für den Benutzer zu verfassen. Das WPF-Framework vereinfacht den Layoutprozess und bietet eine bessere Anpassungsfähigkeit des UI-Erscheinungsbilds.

Die Layout-Infrastruktur wird von verschiedenen Klassen angeboten: 1) StackPanel, 2) DockPanel, 3) WrapPanel, 4) Grid und 5) Canvas

Grafiken

WPF bietet ein verbessertes Grafiksystem wie

  • WPF verwendet geräteunabhängige Einheiten und ermöglicht so Auflösung und Geräteunabhängigkeit. Daher wird jedes Pixel, das geräteunabhängig ist, automatisch mit dem Punkt-pro-Zoll-Einstellungssystem skaliert
  • WPF verwendet Double statt Float und unterstützt eine größere Farbpalette
  • Die WPF-Grafik-Engine ist so konzipiert, dass sie die Vorteile der Grafikhardware nutzen kann, sofern diese verfügbar ist

Dokumente und Drucken

Das WPF-Framework bietet drei Arten von Dokumenten:

  • Feste Dokumente: Dieser Dokumenttyp unterstützt WYSIWYG-Präsentation.
  • Flussdokumente: Ermöglicht das Anpassen und Umfließen von Inhalten basierend auf Laufzeitvariablen wie Fenstergröße und Geräteauflösung.
  • XPS-Dokumente: Es handelt sich um eine paginierte Darstellung von elektronischem Papier in einem XML-basierten Format. XPS ist ein Open Source- und plattformübergreifendes Dokumentformat.

WPF ermöglicht eine bessere Kontrolle über das Drucksystem. Es umfasst Remote-Druck und Warteschlangen. Darüber hinaus können XPS-Dokumente direkt gedruckt werden, ohne sie in ein Druckformat zu konvertieren.

WPF Architektur

WPF ist ein Teil des .NET-Frameworks. Es enthält sowohl verwalteten als auch nicht verwalteten Code. Die wichtigen Komponenten der WPF-Architektur werden in der folgenden Abbildung erläutert:

WPF Architektur
WPF Architektur

Komponenten der WPF-Architektur

  • PräsentationsFramework: Hilft Ihnen beim Erstellen von Elementen der obersten Ebene wie Steuerelementen, Stilen, Layouts, Fenstern usw.
  • PresentationCore: Es enthält Basistypen wie UIElement, Visual von allen Steuerelementen und Formen, die in PresentationFramework.dll abgeleitet sind.
  • CLR: Es macht den Entwicklungsprozess produktiv, indem es Funktionen wie bietet Speicherverwaltung, Fehlerbehandlung usw.
  • Milcore: Milcore ist Teil des nicht verwalteten Codes, der eine enge Integration mit DirectX bietet.
  • DirectX: Es handelt sich um die Low-Level-API, die das Rendern von Grafiken von WPF ermöglicht. DirectX-Talks interagieren mit Treibern und rendern den Inhalt.
  • Benutzer32: Es handelt sich um eine Kern-API, die von vielen Programmen häufig verwendet wird. Es verwaltet die Speicher- und Prozesstrennung. User32 hilft Ihnen bei der Entscheidung, welches Element wo auf dem Bildschirm platziert wird.
  • Kernel: Die Eingabe erfolgt als Signal auf einem Gerätetreiber im Kernelmodus und wird an den richtigen Prozess und durch die Verbindung mit weitergeleitet Windows Kernel und User32.

WPF-Installation

Klicken Sie auf diesen Link, um WPF zu installieren https://www.guru99.com/download-install-visual-studio.html

Als nächstes werden wir in diesem WPF-Anwendungs-Tutorial unser erstes WPF erstellen.

Wie erstelle ich meine erste WPF-Anwendung?

In diesem WPF-Beispiel entwickeln wir eine einfache WPF-Anwendung. Beginnen wir also mit der einfachen Implementierung, indem wir die in den folgenden WPF-Anwendungsbeispielen angegebenen Schritte befolgen.

Schritt 1) Gehen Sie in Visual Studio zu Datei > Projekt

Erstellen Sie Ihre erste WPF-Anwendung

Schritt 2) Im neuen Projektfenster

  1. Wählen Sie WPF-App aus
  2. Geben Sie als Namen „MyWPF“ ein.
  3. klicken Sie auf OK

Erstellen Sie Ihre erste WPF-Anwendung

Schritt 3) Visual Studio erstellt standardmäßig zwei Dateien

  • XAML-Datei (MainWindow.xaml)
  • CS-Datei (MainWindow.xaml.cs)

Erstellen Sie Ihre erste WPF-Anwendung

Die MainWindow.xaml hat

  1. Ein Designfenster
  2. XAML-Datei

Erstellen Sie Ihre erste WPF-Anwendung

In den XAML-Fenstern werden standardmäßig folgende Tags geschrieben

Erstellen Sie Ihre erste WPF-Anwendung

Das Raster ist standardmäßig das erste Element.

Die Datei „MainWindow.xaml.cs“ enthält den entsprechenden Code hinter der XAML-Designdatei

Erstellen Sie Ihre erste WPF-Anwendung

Schritt 4) Im Werkzeugkasten,

  1. Text ziehenBox Element zum Designfenster hinzufügen
  2. Ein TextBox wird im Designfenster angezeigt
  3. Sie sehen XAML-Code für TextBox hinzugefügt

Erstellen Sie Ihre erste WPF-Anwendung

Schritt 5) Ändern Sie den Text in „Erstes WPF-Programm“.

Erstellen Sie Ihre erste WPF-Anwendung

Schritt 6) Klicken Sie auf die Schaltfläche Start

Erstellen Sie Ihre erste WPF-Anwendung

Schritt 7) Bei der Ausgabe wird ein Fenster angezeigt

Erstellen Sie Ihre erste WPF-Anwendung

Glückwunsch! Sie haben Ihre erste WPF-Anwendung entworfen und erstellt. Als nächstes werden wir in diesem WPF-Tutorial für Anfänger den Unterschied zwischen WPF und WinForms sehen.

WPF vs. WinForms

WPF WinForms
Da es sich um ein neueres Framework handelt, entspricht es besser den aktuellen Standards. Es ist älter, also bewährter.
Es ist flexibel und bietet zahlreiche Funktionen. Sie können sehr umfangreiche Anwendungen entwerfen, ohne zu programmieren oder Steuerelemente zu kaufen. Nicht so funktionsreich
Entwickler von 3rd Die Parteikontrollen konzentrieren sich auf die Kompatibilität mit WPF, da dies die Zukunft ist. Es gibt viele Steuerelemente von Drittanbietern, die Sie kaufen oder kostenlos erhalten können.
Mit XAML können Sie Ihre GUI einfach erstellen und bearbeiten. Dadurch kann die Arbeit zwischen einem Designer (XAML) und einem Programmierer (C#, ASP.net usw.) aufgeteilt werden. In Windows Bildet den gesamten an einem Ort geschriebenen Code.
WPF kann Benutzeroberflächen für beide erstellen Windows Anwendungen und Webanwendungen wie Silverlight und XBAP. Keine solche Unterstützung
Die In-Box-Control-Suite von WPF ist begrenzt In-Box-Steuerelemente sind sehr leistungsstark

Art der mit WPF erstellten Anwendungen

  • WPF versucht, Webformulare und Windows-Formulare zu ersetzen – Apps können so erstellt werden, dass sie in einem Browser oder einem eigenständigen Fenster ausgeführt werden
  • Windows Formulare und WPF-Seiten können in derselben Anwendung nebeneinander existieren
  • Sie können Seiten-/Fensteranwendungen entwickeln

Kurzanleitung

  • Das vollständige WPF-Formular lautet Windows Präsentation Foundation
  • Es ist eine ideale Plattform, wenn Sie mit verschiedenen Medientypen arbeiten müssen
  • Windows 1.0 war die erste GUI-Umgebung von Microsoft das unter DOS arbeitete und sich auf die Systeme GDI und USER stützte
  • WPF in .NET bietet Interoperabilität mit Windows Formularsteuerelemente
  • WPF ist in vier verschiedene Typen unterteilt: UIElement, FrameworkElement ContentElement und FrameworkContentElement
  • Die wichtigsten Komponenten eines Teils der WPF-Architektur sind PresentationFramework, PresentationCore, CLR, Milcore, DirectX, User32 und Kernel
  • WPF ist ein neueres Framework im Vergleich zu WinForms und entspricht daher eher den aktuellen Standards.
  • Windows Formulare und WPF-Seiten können in derselben Anwendung nebeneinander existieren