WPF-Tutorial fĂŒr AnfĂ€nger

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

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: