WPF, die Alternative zu WinForms, trennt Design in einem XML-Dialekt und Programmierung in Visual Basic. Dieses Kapitel beschreibt die neue Syntax und erste, einfache Anwendungen.
19 WPF – Grundlagen
Mit dem .NET Framework 3.0 wurde eine neue Programmierschnittstelle für Windows-Anwendungen eingeführt, die sich Windows Presentation Foundation (WPF) nennt. Mit dem Visual Studio 2008 wurde WPF nun neben anderen neuen Technologien in die Entwicklungsumgebung fest integriert.
In den kommenden Kapiteln werden wir uns mit WPF beschäftigen. Alle Aspekte zu berücksichtigen würde den Rahmen dieses Buches sprengen. Aber ich möchte Ihnen einen Einstieg in die neue Technologie geben und Ihnen zeigen, wie Windows-Anwendungen in Zukunft entwickelt werden. Sie werden feststellen, dass die Lernkurve nicht so steil ist wie bei den nun in die Jahre kommenden WindowsForms, die Thema der letzten Kapitel waren. Denn neben den Kenntnissen in der Programmierung müssen Sie nur noch eine einfache »Sprache« lernen, mit der die Oberflächen in WPF beschrieben werden. Der Aufwand lohnt sich:
WPF kann viel mehr als WindowsForms. |
Dieses Kapitel beschäftigt sich mit vier Themenkreisen. Einem kurzen Überblick folgt eine Einführung in XML. Der WPF-spezifische XML-Dialekt namens XAML ist das dritte Thema. Den Abschluss bildet die Erstellung und Analyse erster Beispiele.
19.1 Merkmale einer WPF-Anwendung 

Zuerst möchte ich grob die Charakteristika einer WPF-Anwendung skizzieren:
- Die Benutzeroberfläche wird in einem XML-Dialekt namens XAML (eXtensible Markup Language, gesprochen semml) geschrieben. Dadurch kann die Beschreibung der Benutzeroberfläche strikt vom Code getrennt werden – analog zu ASP.NET.
- Anzeige derselben Benutzeroberfläche in einem normalen Fenster oder im Browser
- Umfangreiche Unterstützung von 2D- und 3D-Grafiken, inklusive schneller Ausgabe durch DirectX, Animationen, Unterstützung von Videos, Bilder und Audio
- Das neue Inhaltsmodell erlaubt schönere Oberflächen und ist trotzdem einfacher.
- Reichhaltige Datenbindungsmöglichkeiten für die Komponenten
- Verteilung mit XCopy und ClickOnce möglich
Dies ist nur ein kleiner Überblick. Wie Sie sehen, liegt der Fokus auf Design und Layout – ganz im Sinne des letzten Betriebssystems Windows Vista. Sollte eine Neuentwicklung nun WinForms oder WPF nutzen? Die folgenden Überlegungen können Ihnen bei der Entscheidungsfindung helfen.
Die grafischen Fähigkeiten von WPF stellen wohl alles Vergangene in den Schatten. Wollen Sie runde Buttons? Kein Problem. Wollen Sie runde Fenster? Ebenfalls kein Problem. Die exzellenten grafischen Möglichkeiten von WPF mögen vielleicht einer der großen Vorteile sein, bergen aber auch gleichzeitig die Gefahr, Oberflächen zu entwickeln, die vom Benutzer nicht mehr intuitiv bedient werden können. Zudem sind WPF-Anwendungen nur unter Windows XP, Windows Server 2003 und Vista lauffähig.
Für größere Projekte ist die strikte Trennung von Oberflächenbeschreibung und Code sehr wichtig, sodass die Oberfläche von einem Grafiker gestaltet wird, während der Entwickler den Code dazu schreibt. Die Oberflächenbeschreibung erfolgt in XAML, die Programmlogik kann in VB.NET oder C# codiert werden. Die folgende Übersicht zeigt diese Trennung:
Grafiker Softwareentwickler
| |
Designtool Programmierumgebung
(Visual Studio, Expression Blend, (Visual Studio, Editor)
ZAM 3D, Aurora) |
| |
XAML VB.NET und C#.NET
| |
Übersetzung in eine binäre Ressource Übersetzung in MSIL
(".g.vb" oder ".g.cs") (".dll")
| |
+----------------------Linker-----------------Ů
|
Anwendung
WPF ist eine neue Technologie. Die Erfahrung lehrt uns, dass neue Technologien oft in der ersten Version noch nicht ausgereift sind. Das soll nicht bedeuten, dass neue Konzepte fehlerbehaftet sind. Vielmehr fehlen Komponenten, die für ältere Technologien selbstverständlich sind. WPF bildet da keine Ausnahme. Sie werden einige liebgewonnene Steuerelemente vermissen, andererseits werden auch zahlreiche neue, WPF-spezifische, angeboten.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.