WPF-Tutorial für Anfänger
⚡ Intelligente Zusammenfassung
WPF (Windows Präsentation Foundation) abgestimmt ist, lautet MicrosoftRahmenwerk für den Aufbau reichhaltiger Windows Desktop-Anwendungen. Anfänger lernen, wie XAML, Datenbindung und hardwarebeschleunigte Grafik zusammenwirken, um skalierbare, visuell ansprechende Benutzeroberflächen mit weniger Code zu erstellen.
Was ist WPF?
WPF ist ein Rahmenwerk zum Bauen Windows WPF ist eine Technologieplattform, die es Entwicklern ermöglicht, mit weniger Codeaufwand ansprechende Benutzeroberflächen mit 3D-Animationen und brillanten Farben zu erstellen. Es handelt sich um eine vektorbasierte Rendering-Engine, die die Hardwarebeschleunigung moderner Grafikkarten nutzt und dadurch die Benutzeroberfläche schneller und hochgradig skalierbar macht. Windows Präsentation Foundation.
WPF kann als Weiterentwicklung von WinForms betrachtet werden. Es bietet ein einfach zu bedienendes grafisches Anzeigesystem für Windows und bietet eine klare Trennung zwischen Benutzeroberfläche und Geschäftslogik.
WPF-Anwendungen werden typischerweise als eigenständige Desktop-Programme bereitgestellt und können auch als eingebettete Objekte in anderen Anwendungen 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 Benutzeroberfläche mit individuellem Design erstellen. Es ist auch hilfreich, wenn Sie einen Teil der Benutzeroberfläche laden 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 WPF entwickelte Anwendungen sowohl auf kleinen Tablet-Bildschirmen als auch auf einem 20-Zoll-Monitor laufen können.
- WPF basiert auf DirectX anstelle der WinAPI. Es nutzt das Grafiksystem des Clientcomputers und bietet daher eine höhere Grafikleistung.
- Unterstützt ein Flow-Dokumentmodell, das Layoutqualität auf Desktop-Publishing-Niveau ermöglicht.
- Erscheinungsbild und Verhalten sind lose gekoppelt. Dies ermöglicht es Designern und Entwicklern, an zwei separaten Modellen zu arbeiten.
- Im WPF-Framework können Sie Werkzeuge grafisch mithilfe einfacher XML-Dokumente entwerfen, anstatt Code zu parsen.
- Ermöglicht die Verwendung der Hardwarebeschleunigung zum Zeichnen der GUI für eine bessere Leistung
Schauen wir uns als Nächstes an, wie sich das Framework im Laufe der Zeit weiterentwickelt hat.
Geschichte von WPF
Windows 1.0 war die erste GUI-Umgebung von MicrosoftEs funktionierte als Schicht über DOS und nutzte die GDI- und USER-Systeme für Grafik und Benutzeroberfläche.
DirectX wurde 1995 als leistungsstarkes Grafiksystem für Spiele und andere grafikintensive Anwendungen eingeführt. Im Laufe der Jahre erschienen zahlreiche Versionen, und DirectX 9 stellte eine Bibliothek bereit, die mit verwaltetem .NET-Code verwendet werden konnte.
| 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, Annotationen und 3D-UI-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, Datengitter, Datumsauswahl. Unterstützung für Multi-Touch und Manipulation. |
| 4.5 | 2012 | 4.5 | GEGEN 2012 | Schnellerer Start, verbesserte Leistung bei der Anzeige großer Datensätze. Neues Ribbon-Steuerelement und INotifyDataErrorInfo-Schnittstelle zur Datenvalidierung. |
| 4.5.1 | 2013 | 4.5.1 | GEGEN 2013 | Geringfügige Verbesserungen bei Leistung und Zuverlässigkeit. |
| 4.5.2 | 2014 | 4.5.2 | NA | Keine wesentliche Änderung |
| 4.6 | 2015 | 4.6 | GEGEN 2015 | Transparente Unterstützung für untergeordnete Fenster HDPI- und Touch-Verbesserungen |
| 4.8 | 2019 | 4.8 | GEGEN 2019 | Letzte große Version des .NET Frameworks mit Fehlerbehebungen für hohe DPI-Auflösungen und Verbesserungen der Barrierefreiheit. |
| .NET Core 3.0 und höher | 2019-present | .NET Core 3.0 zu .NET 10 | VS 2019/2022 | WPF wird Open Source und wird mit modernen .NET-Anwendungen ausgeliefert (Anwendungen bleiben Windows-nur). |
WPF wird nicht mehr separat von .NET versioniert. Seit 2019 wird es als Open-Source-Komponente der modernen .NET-Plattform ausgeliefert, und die aktuelle Version ist in .NET 10 enthalten, das im November 2025 als Long-Term Support (LTS)-Version veröffentlicht wurde.
Funktionen von WPF
Das folgende Diagramm gruppiert die wichtigsten WPF-Funktionen, die anschließend detailliert aufgeführt werden.

- 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
- Vektorgrafiken ermöglichen es Ihnen, Ihre Anwendung ohne Qualitätsverlust zu skalieren.
- WPF unterstützt ein Gleitkomma-Pixelsystem und 32-Bit-ARGB-Farben
- Definieren Sie Stile und Steuerelementvorlagen neu
- Erstellen internationaler Schriftarten aus zusammengesetzten Schriftarten
- Die WPF-Textwiedergabe nutzt die ClearType-Technologie.
- Ermöglicht die Verwendung der Caching-Technik von vorgerendertem Text im Videospeicher
- Ressourcenbasierter Ansatz für jede Kontrollmaßnahme
- 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 sollen, die für die visuelle Darstellung verwendet werden.
- Vorlagen in WPF helfen Ihnen dabei, die Benutzeroberfläche Ihres Dokuments zu ändern.
- Befehle sind eher abstract und lose gekoppelte Version von Ereignissen
- Die WPF-Unterstützung für Befehle reduziert die Menge an Code, die wir schreiben müssen
Weiter in diesem WPF C#-TutorialWir werden die WPF-Kerntypen und die Infrastruktur kennenlernen.
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 Komposition von Benutzerschnittstellen.
WPF-Benutzeroberflächen bestehen aus Elementen, die in einer Baumhierarchie, dem sogenannten Elementbaum, angeordnet sind. Der Elementbaum bietet eine intuitive Möglichkeit, Benutzeroberflächen zu gestalten, und bildet die Grundlage für leistungsstarke UI-Funktionen.
XAML
Extensible Application Markup Language, kurz „XAML“ (ausgesprochen „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>
Vorteile der Verwendung der XAML-Sprache:
- XAML trennt das Erscheinungsbild des Frontends von der Backend-Logik.
- XAML ist die einfachste Methode zur Darstellung von Benutzeroberflächen
- XAML funktioniert effektiv mit Design-Tools.
Steuerelemente
Das WPF-Framework unterstützt viele nützliche Steuerelemente wie zum Beispiel:
- 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
- Gängige Dialogfelder wie OpenFileDialog und PrintDialog
- Container wie TabControl, ScrollBar und GroupBox
- Layouts wie DockPanel, 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.
Eine Datenvorlage ermöglicht es Ihnen, die Standardvisualisierung gebundener Daten zu steuern. Mithilfe von Designs können Sie die visuellen Stile des Betriebssystems einfach anwenden.
Layout und Panels
Das Layout hilft Ihnen bei der korrekten Positionierung und Skalierung von Steuerelementen. Es ist Teil des Prozesses der Benutzerpräsentation. Das WPF-Framework vereinfacht den Layoutprozess und bietet eine bessere Anpassungsfähigkeit des UI-Erscheinungsbilds.
Die Layout-Infrastruktur wird durch fünf Hauptklassen bereitgestellt: 1) StackPanel 2) DockPanel 3) WrapPanel 4) Grid und 5) Canvas
Grafiken
WPF bietet ein verbessertes Grafiksystem:
- WPF verwendet geräteunabhängige Einheiten, wodurch Auflösungs- und Geräteunabhängigkeit ermöglicht wird. Jedes geräteunabhängige Pixel skaliert automatisch mit der DPI-Einstellung des Systems.
- 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 Dokumenttypen an:
- 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: Eine paginierte Darstellung von elektronischem Papier in einem XML-basierten Format. XPS ist ein offenes, standardisiertes Dokumentenformat.
WPF ermöglicht eine bessere Kontrolle über das Drucksystem, einschließlich Ferndruck und Druckwarteschlangen. Darüber hinaus können XPS-Dokumente direkt gedruckt werden, ohne sie vorher in ein Druckformat konvertieren zu müssen.
Nachdem wir die Grundlagen besprochen haben, wollen wir uns nun ansehen, wie diese Teile im Inneren zusammenpassen.
WPF Architektur
WPF ist Bestandteil des .NET Frameworks. Es enthält sowohl verwalteten als auch nicht verwalteten Code. Die wichtigsten Komponenten der WPF-Architektur werden in der folgenden Abbildung erläutert:
Komponenten der WPF-Architektur
- PräsentationsFrameworkHilft Ihnen beim Erstellen von Elementen der obersten Ebene wie Steuerelementen, Stilen, Layouts, Fenstern usw.
- PresentationCoreEs enthält Basistypen wie UIElement und Visual, von denen alle Steuerelemente und Formen in PresentationFramework.dll abgeleitet werden.
- 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 die Grafiken von WPF rendert. DirectX interagiert mit den Treibern und rendert den Inhalt.
- Benutzer32: Es handelt sich um eine zentrale API, die von vielen Programmen genutzt wird. Sie verwaltet Speicher und trennt Prozesse. User32 hilft Ihnen bei der Entscheidung, welches Element wo auf dem Bildschirm platziert wird.
- Kernel: Die Eingabe stammt von einem Kernelmodus-Gerätetreiber und wird durch Verbindung mit dem richtigen Prozess weitergeleitet. Windows Kernel und User32.
WPF-Datenbindung
Die Datenbindung ist eines der leistungsstärksten Konzepte in WPF. Anstatt Code zu schreiben, der Werte manuell zwischen Steuerelementen und Objekten kopiert, deklarieren Sie eine Verbindung in XAML, und WPF synchronisiert beide Seiten automatisch. Zum Beispiel:
<TextBox Text="{Binding Path=StudentName, Mode=TwoWay}" />
WPF unterstützt vier Bindungsmodi:
- Ein Weg: Die Steuerung wird aktualisiert, wenn sich die Quelldaten ändern.
- Zwei-Wege: Der Änderungsfluss zwischen Steuerung und Quelle erfolgt in beide Richtungen.
- Einmalig: Die Steuerung liest den Quellwert nur einmal, nämlich beim Laden.
- OneWayToSource: Die Steuerung gibt ihren Wert an die Quelle weiter, niemals umgekehrt.
Die Datenbindung ist auch der Motor des MVVM-Musters (Model-View-ViewModel), der gängigsten Architektur für professionelle WPF-Anwendungen, da sie es ermöglicht, dass die Ansicht in XAML bleibt, während die Logik in testbaren C#-Klassen liegt.
💡 Tipp: Implementieren Sie die INotifyPropertyChanged-Schnittstelle in Ihren Datenklassen. Andernfalls wird die Benutzeroberfläche nicht aktualisiert, wenn sich Eigenschaftswerte im Code ändern.
WPF-Installation
Folgen Sie diesem Link, um WPF zu installieren: https://www.guru99.com/download-install-visual-studio.html
Im nächsten Schritt dieses WPF-Anwendungstutorials werden wir unsere erste WPF-Anwendung 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 unten aufgeführten Schritte des WPF-Anwendungsbeispiels befolgen.
Schritt 1) In Visual Studio gehen Sie zu Datei > Neu > 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
Im XAML-Fenster werden standardmäßig die folgenden Tags geschrieben:
Das Raster ist standardmäßig das erste Element.
Die Datei MainWindow.xaml.cs enthält den zugehörigen Code-Behind für die XAML-Designdatei:
Schritt 4) Im Werkzeugkasten,
- Ziehen Sie den TextBox Element zum Designfenster hinzufügen
- Ein TextBox wird im Designfenster angezeigt
- Sie sehen den XAML-Code für den Text.Box hinzugefügt
Schritt 5) Ändern Sie den Text in „Erstes WPF-Programm“.
Schritt 6) Klicken Sie auf die Schaltfläche Start
Schritt 7) Im Ausgabefenster 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 viele Funktionen. Sie können sehr umfangreiche Anwendungen entwickeln, ohne programmieren zu müssen oder Steuerelemente kaufen zu müssen. | Nicht so funktionsreich |
| Entwickler von 3rd Bei den Party Controls steht die Kompatibilität mit WPF im Vordergrund, da dies die Zukunft ist. | Es gibt viele Steuerelemente von Drittanbietern, die Sie kaufen oder kostenlos erhalten können. |
| XAML ermöglicht die einfache Erstellung und Bearbeitung von GUIs. Es erlaubt die Aufteilung der Arbeit zwischen einem Designer (XAML) und einem Programmierer (C#, VB.NET usw.). | In Windows Formulare, der gesamte Code ist an einem Ort geschrieben. |
| XAML-Kenntnisse lassen sich direkt auf neuere Frameworks wie WinUI 3, .NET MAUI und Avalonia UI übertragen. | WinForms-Kenntnisse beziehen sich hauptsächlich auf klassische Windows Desktop-Entwicklung. |
| Die In-Box-Control-Suite von WPF ist begrenzt | In-Box-Steuerelemente sind sehr leistungsstark |
Art der mit WPF erstellten Anwendungen
- WPF wird für eigenständige Anwendungen verwendet. Windows Desktop-Anwendungen wie unternehmensweite Branchensoftware, Dashboards, Handelsterminals und Designsoftware.
- Windows Formulare und WPF-Seiten können in derselben Anwendung nebeneinander existieren
- Sie können Anwendungen im Seiten-/Fensternavigationsstil entwickeln.
WPF in modernem .NET
Microsoft WPF wurde im Dezember 2018 als Open Source veröffentlicht und ist seit .NET Core 3.0 (2019) in jeder modernen .NET-Version bis einschließlich .NET 10 enthalten. Die Migration einer Anwendung auf ein modernes .NET ermöglicht einen schnelleren Start, eine einfachere Bereitstellung durch eigenständige Veröffentlichung und den Zugriff auf aktuelle C#-Sprachfunktionen, während das WPF-Programmiermodell unverändert bleibt.
WPF bleibt Windows-nur. Wenn Sie heute ein Desktop-Framework auswählen, hilft Ihnen dieser Vergleich:
| Unser Ansatz | besten Für |
|---|---|
| WPF | Ausgereift, funktionsreich Windows Desktop-Anwendungen mit einem riesigen Ökosystem |
| WindowsUI 3 | Neue Anwendungen für die moderne Generation Windows 11. Aussehen und Haptik |
| .NET-MAUI | Plattformübergreifende Anwendungen, die sich über Windows, macOS, Android, und iOS |
Da WPF aktiv weiterentwickelt wird und tief in Unternehmenssoftware integriert ist, bleibt das Erlernen dieser Methode eine sinnvolle Investition. Sobald Sie mit der Entwicklung solcher Anwendungen vertraut sind, lohnt es sich, die gängigsten Techniken zu üben. WPF-Interviewfragen um Konzepte wie XAML, Datenbindung und die visuelle Baumstruktur zu verankern.










