HowTo: Windows Presentation Foundation (Einstieg, Infos, Programme, Überblick)

Da ich mich auch langsam der WPF Programmierung zuwende, möchte ich einfach mal einen Einstiegs-HowTo schreiben. Inhalte sollen hier das grobe Konzept hinter WPF sein, was man dafür braucht, welche Programme man nimmt und was man sich mal anschauen kann.

WPF? .NET 3.0? Um was gehts?

Die Windows Presentation Foundation ist Teil des .NET 3.0 Frameworks und wurde auch unter .NET 3.5 weiterentwickelt – was konkret, schauen wir uns dann später mal an. .NET 3.0 kam ungefähr mit Vista auf und ist für XP, Windows Server 2003 und Vista entwickelt wurden.

Um es mal grob zu sagen, was man mit WPF machen kann: Endlich schicke Windows Applikationen! Windows.Forms sind leider in Bezug auf Design recht zickig – mit WPF will man endlich “sexy” Applikationen auch im Unternehmensumfeld kultivieren. Das hat Teilweise schon zu Erfolgen geführt.

Silverlight nutzt als Basis auch WPF – allerdings momentan noch sehr begrenzt, aber das Konzept bleibt gleich.

Was ist denn das Konzept?

Stellen wir uns eine perfekte Welt vor, wo der Designer mit den entsprechenden Tools arbeitet und das Ergebnis direkt an den Entwickler übergeben kann und dieser ohne große Konvertierung oder Neuimplementierung das Design mit Funktionen befüllen kann. Wie gesagt, wir gehen von einer perfekten Welt aus ;)

Genau hier setzt WPF an. WPF ist die “Oberflächensprache”, welche direkt in .NET verwendet werden kann. Von den Designtools wird normalerweise eine XAML Datei für ein Layout erstellt – das gesamte Design wird also in XML gegossen.
XAML selbst wird in eine .NET Objekt Hierarchie serialisiert – daher kann der Entwickler in seiner gewohnten Umgebung direkt drauf zugreifen.

Ein nettes Whitepaper gibts auch hier zum Runterladen.

Mhh… klingt schon mal nach einer netten Idee – was gibts denn für Tools?

Bei Tools möchte ich mal eine Trennung zwischen “ist für Designer geeignet” und “ist eher für Entwickler geeignet”. Der Unterschied liegt daran, dass die Entwickler Anwendungen meist nur die “Handeingabe” ermöglichen – das gefällt natürlich keinem Designer ;)

  • Designer:
  • Entwickler:
    • XAMLPad: Das Ursprungstool von Microsoft. Dieses ist enthalten im Windows SDK.
    • XAMLPadX V3: Eine Erweiterung welche ich auf diesem Blog gefunden habe. Es unterstützt auch Plugins. Leider ohne IntelliSense momentan.
    • Visual Studio: VS 2008 bietet große Unterstützung – für Visual Studio 2005 gibt es ein AddIn, welches allerdings auch mehr schlecht als recht ist.
    • Kaxaml 1.0: Ein Geheimtipp wie ich finde. Sehr schick umgesetzt und sogar mit IntelliSense – daher aus meiner Sicht momentan besser als XAMLPad oder XAMLPADX V3.

Scheint doch eine nette Auswahl zu sein, gibt es sonst irgendwelche Probleme mit WPF?

WPF hat einen (meiner Meinung nach) großen Nachteil gegenüber einer klassischen Windows.Forms Applikation – leider fehlen viele Controls welche man gewohnt war. Andere Kritikpunkte, welche sicherlich erst bei einem näheren Blick auffallen, sind hier gut beschrieben. Performance ist durch die Komplexität insbesondere im 3D Bereich auch nicht so ganz leicht – hier einige Informationen über die Performance von WPF.

Microsoft arbeitet daran und hat auch wie hier ein offenes Ohr für Kritik.

Was gibt es für Demoapplikationen, Referenzen und sonstige Infos?

Microsoft selbst hat einige Demoapplikationen zum Downloaden angeboten: WPF Samples
Insbesondere möchte ich dieses PDF empfehlen – hier wird die Outlook 2003 Oberfläche mit WPF nachgebaut und man sieht Schritt für Schritt wie etwas gemacht wird.

Auch seit kurzem zum Download verfügbar: Das Syndicated Client Expericences Starter Kit Beta + MSDN Reader. Hierbei handelt es sich im Allgemeinen um einen schicken RSS Feedreader mit WPF.

Microsoft bietet auch einige Hands-on Labs an, welche lesenswert sind, sowie Expression Blend Tutorials und Videos.

Wer nach Tutorials sucht, wird ebenfalls auf vielen Seiten fündig – z.B. hier.

Aus der Blogszene kommt auch einige interessante Infos, z.B. aus dem deutschen Blogumfeld von Norbert Eder:

Es gibt noch viele weitere interessante Posts (unter anderem einige bei Norbert), z.B. ein WPF ICQ Client oder Vista Glass Effekt in WPF – ansonsten auch die anderen Blogs welche in diesem Post waren.

Lohnt sich WPF?

Diese Frage kann man so sehr schlecht beantworten – in der Windows Client Entwicklung ist WPF ein sehr großer Schritt nach vorn – auch wenn es momentan noch Schönheitsfehler hat. Mit Silverlight erobert WPF auch das Web, daher kann es nie verkehrt sein, sich mit dieser Technologie auseinander zu setzen. Microsoft setzt z.B. interen WPF für die Expression Produkte ein, aber auch für die Zune Software. Auch gibt es Komponenten in Vista mit WPF – in Windows “7″ wird gemunkelt, dass wohl mehrere Applikationen (Wordpad, Paint, Calc) mit WPF “neu” gemacht werden.

Ein Blick schadet also auf die WPF Entwicklung sicherlich nicht – daher auch dieser Post der als Einstieg dienen soll.

Read more

Was einen manchmal durch den Kopf geht…

… es gibt einige Momente am Tag, wo einem genau sowas durch den Kopf geht: Leicht dümmlich, aber doch amüsant

Read more

GUIDs vs. auto-increment IDs

Ich oute mich mal als ein “ehemaliger” PHP Entwickler. MySQL ist natürlich die Standarddatenbank für PHP Anwendungen. Man macht über phpmyadmin (ich war noch jung und kannte nichts anderes ) seine Datenbanken und wie es sich so gehört, hat jeder Datensatz in einer X-beliebigen Tabelle eine eindeutige ID. Die “ID” Spalte wird einfach ein Integer …

Read more

Buchüberblick Januar 2008 – .NET 3.5, ASP.NET 3.5, AJAX, ADO.NET, LINQ

Das .NET Framework in der Version 3.5 ist schon eine Weile draußen und da ich selber immer auf der Suche nach aktuellen Büchern bin, hier eine aktuelle Auswahl oder kommenden Büchern – Haupthema ist ASP.NET 3.5, .NET 3.5, AJAX oder LINQ. Deutschsprachige: LINQ im Einsatz (Erscheinung 3. April) Datenbankprogrammierung mit .NET 3.5: Mehrschichtige Applikationen mit …

Read more

Next Generation User Interfaces – Interessante UI Konzepte und Formen

“Next Generation User Interfaces” klingt schonmal stark nach Bullshit Bingo – daher ist es als Titel schonmal sehr gut Durch die Wii wurde bereits ein gewaltiger Sprung erreicht – Microsofts Surface Tischlein geht ebenfalls in eine interessante Richtung. Die Kombination des Ganzen ist in etwa das “Minority Report-alike” UI – das Thema “User Interfaces” möchte …

Read more

HowTo: ASP.NET Profile System mit Web Projects nutzen (Visual Studio 2005/2008)

ASP.NET 2.0 führte ein so genanntes “Membership” System ein – darunter sind allgemeine Benutzerregistrier-, Benutzerprofil- und Benutzerrollensystem gebündelt. Insbesondere das Profilsystem hat mich heute etwas beschäftigt (auch wenn es etwas älter ist). Mit dem Profilsystem kann man einfach Benutzern bestimmte Attribute zuordnen, z.B. Name, Alter, Wohnort oder andere Verweise zu bestimmten Daten innerhalb der Applikation. …

Read more

Minority Report User Interface mit WPF und der Wii

Jeder der Minority Report gesehen hat, wird sich so ein User Interface für Daheim wünschen – per Gesten witzige Sachen zu vollführen freute jeden, insbesondere die Nerds & Geeks. Microsoft Surface ist dabei schon eine nette Sache – leider für Privatleute momentan (und wahrscheinlich in nächster Zeit) unerreichbar. Johnny Chung Lee hat vor einige Zeit …

Read more

HowTo: Charts mit der Google Charts API erstellen – eine Einführung

Still und leise hat Google eine weitere API vor einer kleinen Weile veröffentlicht: Die Google Chart API. Was kann man mit dieser anstellen? Hier ein kurzer Überblick. Wie funktioniert das und was kostet es? Die Google Chart API ist recht einfach gestrickt: Eine spezielle URL wird zusammengebaut und Google rendert daraus ein PNG Bild, welches …

Read more

HowTo: O/R Mapper LINQ to SQL – Einführung in den Designer & 1:N Beziehungen

Im letzten HowTo rund um LINQ to SQL ging es mehr darum, ein Grundverständnis zu vermitteln. Das manuelle Mapping ist eine Methode, wie man LINQ to SQL nutzen kann – mit Visual Studio 2008 (selbst in der Express Edition) ist auch ein LINQ to SQL Designer Template mit dazugekommen: Variante A: Unser einfaches Costumer Beispiel …

Read more

HowTo: WPF Windows mit dem Vista Glass Effekt ausstatten

Eine optische Verbesserung (jedenfalls für mich) stellt in Vista der so genannte Glass Effekt dar. Wer nun mit WPF arbeitet, wird vielleicht denken, dass solch ein Effekt direkt mit geliefert wird (immerhin ist .NET 3.0 in Vista fest integriert) – jedoch geht dies nicht so einfach. Im Internet bin ich auf diesen Blogpost gestoßen – …

Read more

Letzte Posts

  • image.png
    IIS & Windows Authentication – Troubleshooting mit Negotiate & NTLM

    Windows Authentifizierung ist eine einfache (und naheliegende) Authentifizierungs-Option für “Haus-interne” Webapplikationen. Setup Im IIS selbst kann man die Windows Authentifzierung sehr leicht anschalten: Natürlich kann man dies auch über die web.config steuern: <system.web> ... <authentication mode="Windows"/> ... </system.web> ... Fehlermeldung “HTTP Error 401.2 – Unauthorized”: Dies kann (wie fast immer) viele Gründe haben, z.B. weil ...

  • image.png
    Json-Online-Tools: Viewer & Json2Csharp Generator

    Wo APIs im Spiel sind, ist das JSON Format nicht weit. Da ich immer mal wieder zwei Tools benutze, möchte ich diese hier auch mal kurz würdigen. JSON Viewer Wer nur den JSON-Text vor sich hat sieht meist die Struktur nicht. Über JSON Viewer kann man sich recht einfach einen Überblick verschaffen: [URL] JSON2CSharp Der ...

  • image.png
    Tools & Vorgehen für Entwicklung rund um OpenXml oder wie erstelle ich Office Dokumente mit .NET?

    Durch meine Tätigkeit bei der  OneOffixx AG habe ich recht tiefe Einblicke in die Erstellung von Microsoft Office Dokumente mit .NET bekommen. Da das Problem “Office Dokumente per Code” zu erstellen recht verbreitet ist, schreib ich mal Empfehlungen für die ersten Schritte. Must Have Tools Ganz klar sollte man das Office in der jeweiligen Version ...

  • image.png
    Windows Phone SDK- & “System”-Icons

    Zwar legt das Metro Design viel Wert auf Typografie – jedoch sind auch Icons sehr wichtig. Wer das Windows Phone SDK installiert hat, bekommt 36 Icons mitgeliefert. Diese sind unter diesem Pfad zu finden: C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.0\Icons Viele Icons, welche man von den eingebauten Anwendungen kennt, sind allerdings nicht enthalten. Pedro Lamas hat ...

  • image.png
    Wie finde ich heraus ob mein ADFS 2.0 funktioniert?

    Ich hatte mich recht lange mti dem Thema ADFS 2.0 (“Active Directory Federation Services”) beschäftigt und da kam die recht einfache Frage auf: Wie stelle ich fest ob die Verbindung zwischen ADFS und AD “funktioniert”? Hier eine simple Variante es zu testen… Was ist ein ADFS überhaupt? Wenn man über AD-Grenzen hinweg “Vertrauensstellungen” braucht, dann ...

Unterstützt von…

Facebook