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

- 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:
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
Schritt 2) Im neuen Projektfenster
- WĂ€hlen Sie WPF-App aus
- Geben Sie als Namen âMyWPFâ ein.
- klicken Sie auf OK
Schritt 3) Visual Studio erstellt standardmĂ€Ăig zwei Dateien
- XAML-Datei (MainWindow.xaml)
- CS-Datei (MainWindow.xaml.cs)
Die MainWindow.xaml hat
- Ein Designfenster
- XAML-Datei
In den XAML-Fenstern werden standardmĂ€Ăig folgende Tags geschrieben
Das Raster ist standardmĂ€Ăig das erste Element.
Die Datei âMainWindow.xaml.csâ enthĂ€lt den entsprechenden Code hinter der XAML-Designdatei
Schritt 4) Im Werkzeugkasten,
- Text ziehenBox Element zum Designfenster hinzufĂŒgen
- Ein TextBox wird im Designfenster angezeigt
- Sie sehen XAML-Code fĂŒr TextBox hinzugefĂŒgt
Schritt 5) Ăndern Sie den Text in âErstes WPF-Programmâ.
Schritt 6) Klicken Sie auf die SchaltflÀche Start
Schritt 7) Bei der Ausgabe wird ein Fenster angezeigt
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









