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

Was ist WPF?

WPF ist ein Framework zum Erstellen von Windows-Anwendungen, mit dem Benutzer umfangreiche Benutzeroberflächen mit 3D-Animationen und satten Farben mit weniger Codeaufwand entwickeln könnenplexität. Es handelt sich um eine vektorbasierte Rendering-Engine, die die Hardwarebeschleunigung moderner Grafikkarten nutzt, wodurch der UL schneller und hoch skalierbar wird. WPF steht für Windows Presentation Foundation.

WPF kann als Weiterentwicklung von WinForms betrachtet werden. Es erstellt 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 Desktop-Programm bereitgestellt oder als eingebettetes Objekt in 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 für DRAwing die 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 Forms-Steuerelementen
  • 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. Es bildet die Grundlage für ein Modell zum Erstellen 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 „Rand“, „WPF-Bild“ und „Ansicht“.box
  • Gemeinsamer Dialog boxes 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.

Optik

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 der Datenvorlage können Sie die Standardvisualisierung der gebundenen Daten steuern. Mithilfe von Themes können Sie ganz einfach Stile aus dem Betriebssystem 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

Graphics

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 anstelle von Float und unterstützt eine größere Auswahl an Farben
  • 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 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, Layout, 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 dem Windows-Kernel und User32 weitergeleitet.

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 grundlegende WPF-Anwendung. Beginnen wir also mit der einfachen Implementierung von following Führen Sie die unten in den WPF-Anwendungsbeispielen aufgeführten Schritte aus.

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 das Folgendewing Tags werden standardmäßig 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 Werkzeugbox,

  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 Forms ist der gesamte Code an einem Ort geschrieben.
WPF kann Benutzeroberflächen sowohl für Windows-Anwendungen als auch für Webanwendungen wie Silverlight und XBAP erstellen. Keine solche Unterstützung
WPF ist in-box Die Steuerungssuite ist begrenzt Im-box Die Steuerung ist sehr leistungsfähig

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 Forms- und WPF-Seiten können in derselben Anwendung nebeneinander existieren
  • Sie können Seiten-/Fensteranwendungen entwickeln

Kurzanleitung

  • Die vollständige WPF-Form ist Windows Presentation 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 Forms-Steuerelementen
  • 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 eine neuere Framework-Compares WinForms, sodass es besser mit den aktuellen Standards übereinstimmt
  • Windows Forms- und WPF-Seiten können in derselben Anwendung nebeneinander existieren