Abstract
Die vorliegende Arbeit beschäftigt sich mit konzeptionellen Untersuchungen rund um die Windows Presentation Foundation (WPF) der Firma Microsoft. Die WPF ist eine Klassenbibliothek zur Gestaltung von grafischen Benutzeroberflächen. Sie ist ein Bestandteil des .NET 3.0 Frameworks.
Im Rahmen dieser Arbeit werden Technologien analysiert, die bisher zur Visualisierung von Computergrafiken und zur Gestaltung von Programmoberflächen verwendet wurden. Die Vorteile und Nachteile dieser Technologien werden mit denen der Windows Presentation Foundation verglichen.
Die Hauptproblematik dieser Arbeit ist die Untersuchung der Einsatzfähigkeit der WPF. Dabei wird erforscht, ob die WPF alle aktuellen Anforderungen an die Entwicklung grafisch anspruchsvoller Programmoberflächen erfüllt und ob es Aussagen über die Weiterentwicklung der Windows Presentation Foundation gibt. Weiterhin wird untersucht, inwiefern die WPF mit traditionellen Technologien kombiniert werden kann. Abschließend werden Beispielprogramme vorgestellt und es wird eine Anleitung für das Verwenden der Windows Presentation Foundation gegeben.
Abstract
This paper deals with conceptual examinations around the Windows Presentation Foundation (WPF) of the company Microsoft. The WPF is a class library to the formation of graphicel user interfaces. It is a feature of the .NET 3.0 Framework. Within the scope of this work, technologies are analyzed, that were used for the visualization of computer graphics and to the formation of program surfaces until now. The advantages and disadvantages of these technologies are compared with those of the Windows Presentation Foundation.
The main problem of this work is the examination of the operational ness of the WPF. It will explore on that occasion whether the WPF meets all current requests for the development of graphically selective program surfaces and whether there are statements about the development of the Windows Presentation Foundation. Still, it is examined to what extent the WPF can be combined with traditional technologies. Example programs are introduced in conclusion and it is given an instruction for using the Windows Presentation Foundation.
Inhaltsverzeichnis
Abstract. 2
Abstract. 3
Inhaltsverzeichnis........................................................................................................ 4
Abbildungsverzeichnis 6
Tabellenverzeichnis 8
1 Einleitung 1
1.1 Aufgabenstellung 2
2 Grundlagen 3
2.1 Das NET Framework 3
2.1.1 Was ist das NET Framework 3
2.1.2 Das NET 3.0 Framework 4
2.2 Die Windows Presentation Foundation - WPF. 6
2.2.1 Einführung 6
2.2.2 Eigenschaften der WPF. 7
2.3 Microsoft Silverlight. 9
2.4 XAML 9
2.5 GDI 10
2.6 GDI 10
2.7 DirectX 10
2.8 OpenGL 12
2.9 Windows API 13
2.10 Windows.Forms 14
3 Bearbeitung der Aufgaben 14
3.1 Vergleich und Analyse 15
3.1.1 Win32 API. 15
3.1.2 Windows.Forms 16
3.1.3 Windows Presentation Foundation 18
3.1.4 Managed DirectX 22
3.1.5 OpenGL 23
3.1.6 Zusammenfassung 24
3.2 Untersuchungen 26
3.2.1 Oberflächengestaltung. 26
3.2.2 Werkzeuge zur quellcode-unabhängigen Gestaltung von GUIs 29
3.2.3 Kombination von WPF und Windows.Forms 35
3.2.4 WPF und DirectX-Funktionalität. 42
3.2.5 Voraussetzungen für Hardware und Software 42
3.2.6 Kombination WPF und Delphi-Projekte 43
3.2.7 Umgang mit großen Daten (Pixelbilder) 45
3.2.8 Programmumfeld 46
3.2.9 Installshield. 49
3.2.10 Alternativen zu WPF und Windows.Forms 49
3.2.11 Kompatibilität zu ActiveX 51
3.2.12 Zukunft von WPF 51
3.3 Beispielprogramme 52
3.3.1 3D Schaltflächen. 52
3.3.2 Flipper. 55
3.3.3 iPod-Media-Player 57
3.4 Beispielprogramm für die Kombination mit Delphi-Programmen 59
3.5 Kurzanleitung für die Verwendung von WPF 59
4 Zusammenfassung 61
Literaturverweise. 63
Eidesstattliche Erklärung 67
Abbildungsverzeichnis
Abbildung 1: Aufbau des NET 3.0 Frameworks 4
Abbildung 2: Darstellung der Interop-Technik
Abbildung 3: Verschachtelung visueller Elemente (vgl. 7 )
Abbildung 4: Bildschirmfoto von Expression Blend 37
Abbildung 5: Bildschirmfoto des Aurora XAML Designers 38
Abbildung 6: Bildschirmfoto des Kaxaml Editor.
Abbildung 7: Bildschirmfoto des XAMLPad Editor.
Abbildung 8: Die Klassen WindowsFormsHost und ElementHost bilden die zentralen
Komponenten für die Interoperabilität zwischen Windows.Forms und WPF
Abbildung 9: Einbindung eines WPF-Steuerelementes in ein Windows.Forms-Projekt
Abbildung 10: eine WPF-Animation in einer Windows.Forms-Anwendung verwenden
Abbildung 11: Eine Windows.Forms-Anwendung mit einem WPF-Steuerelement mit
3D-Effekten
Abbildung 12: Beispiel für den Aufruf eines nicht modalen WPF-Fensters aus einer
Windows.Forms -Applikation.
Abbildung 13: das Verwenden mehrerer Windows.Forms-Control in einem
WindowsFormsHost
Abbildung 14: Aufruf der EnableVisualStyles-Methode.
Abbildung 15: Namespace-Mapping zwischen CLR-Namespace und XML-
Namespace.
Abbildung 16: Verwendung von Windows.Forms-Controls in WPF (XAML-Code)
Abbildung 17: Verwendung von Windows.Forms-Controls in WPF (C -Code)
Abbildung 18: Projekt-Eigenschaften ändern
Abbildung 19: die Assembly als CO-Msichtbar markieren
Abbildung 20: WPF-Projekt für CO-MInterop registrieren
Abbildung 21: Beispielprogramm "Flipper"
Abbildung 22: Beispiel für das Ergebnis einer Lokalisierung 52
Abbildung 23: Darstellung von dreidimensionalen Schaltflächen
Abbildung 24: die dreidimensionale Schaltfläche klappt nach hinten, sobald sich der
Mauszeiger über hier befindet.
Abbildung 25: die gedrückte dreidimensionale Schaltfläche
Abbildung 26: die Klassenstruktur des Beispielprogramms "3D Schaltflächen"
Abbildung 27: die obere Hälfte des aktuellen Bildes wird nach unten umgeklappt
Abbildung 28: die Klassenstruktur des Beispielprogramms "Flipper"
Abbildung 29: die Anordnung der vier Model3DGroup-Elemente.
Abbildung 30: Media-Player mit der Oberfläche eines iPod
Abbildung 31: die Klassenstruktur des iPod-Media-Player
Tabellenverzeichnis
Tabelle 1: die Vorteile und Nachteile der Win32 API. 16
Tabelle 2: die Vorteile und Nachteile der Windows.Forms-Bibliothek 18
Tabelle 3: die Vorteile und Nachteile der Windows Presentation Foundation 21
Tabelle 4: die Vorteile und Nachteile von DirectX 23
Tabelle 5: die Vorteile und Nachteile von OpenGL 24
Tabelle 6: Überblick über die Ergebnisse aus Aufgabe 1. 26
Tabelle 7: Systemvoraussetzungen für die Installation des NET 3 0 Frameworks 43
1 Einleitung
Eine grafische Benutzeroberfläche ist eine Softwarekomponente, die Computerbenutzern die Interaktion mit der Maschine über grafische Elemente erlaubt. Diese grafischen Elemente werden mittels Zeige- und Steuerungsinstrument, wie beispielsweise einer Maus, bedient. Oftmals wird auch das Akronym GUI verwendet. Dieses stammt aus dem Englischen und steht für Graphical User Interface, was wörtlich übersetzt "grafische Benutzerschnittstelle" bedeutet. (vgl. [1] ) Die Entwicklung der GUIs vereinfachte die Bedienung von Computern und erlaubte auch weniger erfahrenen Anwendern die Arbeit am Rechner. Deshalb war diese Erfindung essentiell für die weltweite Verbreitung von Computern. Seit den 1970er Jahren wurden die grafischen Benutzeroberflächen kontinuierlich weiterentwickelt. Dabei wurde nicht nur die Interaktion mit den Softwareprogrammen verbessert und vereinfacht, sondern auch die Entwicklung der GUIs für die jeweilige Software. Die Benutzeroberfläche ist ein wichtiger Bestandteil nahezu jeder Anwendung. Die Ansprüche, die Benutzer an Benutzeroberflächen stellen, sind jedoch erheblich gestiegen. Herkömmliche menügesteuerte GUIs werden natürlich weiterhin benötigt, aber Anwendungen müssen häufig auch in der Lage sein, Videos anzuzeigen, Animationen auszuführen, zwei- und dreidimensionale Grafiken darzustellen und mit verschiedenen Arten von Dokumenten zu arbeiten. Und all das muss unabhängig davon möglich sein, ob über einen installierten Desktopclient oder einen Webbrowser auf die Anwendung zugegriffen wird. (vgl. [2] )
Im Laufe der Zeit entstanden umfangreiche Bibliotheken, mit deren Hilfe grafische Bedienoberflächen gestaltet werden können. Die Firma Microsoft stellt nun eine mächtige Klassenbibliothek zur Verfügung, um den Softwareherstellern die grafische Gestaltung von Programmen zu ermöglichen. Diese Bibliothek wird als WPF bezeichnet und ist Teil des .NET 3.0 Frameworks. WPF ist das Akronym für Windows Presentation Foundation.
In Rahmen dieser Projektarbeit sollen die Vorteile und Nachteile dieser neuen Klassenbibliothek analysiert werden.
1
1.1 Aufgabenstellung
Die Aufgabenstellung kommt von der Firma braasch & jäschke computertechnik in Wernigerode:
Ziel dieser Projektarbeit ist es die Möglichkeiten die die Windows Presentation Foundation bietet zu untersuchen. Dabei soll die WPF mit bereits vorhandenen Technologien zur Oberflächengestaltung verglichen und die jeweiligen Vorteile und Nachteile herausgearbeitet werden. Zudem wird untersucht inwiefern neue WPF-Elemente in die vorhandenen Programme integriert werden können. Um die Fähigkeiten der Windows Presentation Foundation zu demonstrieren und die Integrierbarkeit zu testen sollen Beispielprogramme implementiert werden. Die Projektarbeit beinhaltet folgende Teilaufgaben:
1. Vergleich und Analyse der Vor- und Nachteile verschiedener Visualisierungsmethoden für Programmoberflächen und Grafikausgaben:
2. Es ist zu untersuchen:
3. Es ist ein Beispielprogramm (in C#) zu entwickeln, das alle wesentlichen Möglichkeiten von WPF demonstriert
4. Es ist - wenn möglich - eine Beispielimplementierung zur Kombination von Delphi-Code und WPF anzufertigen
5. Es ist eine Kurzanleitung zur Verwendung von WPF anzufertigen
2 Grundlagen
In diesem Kapitel werden die grundlegenden Technologien erläutert, die zum Verständnis dieser Projektarbeit nötig sind. Die Windows Presentation Founation ist Teil des .NET 3.0 Frameworks. Deshalb wird zunächst erläutert worum es sich dabei handelt.
2.1 Das .NET Framework
2.1.1 Was ist das .NET Framework
Das .NET Framework ist eine Softwarekomponente, die einem Windows Betriebssystem hinzugefügt werden kann. Es enthält eine Reihe vorgefertigter Lösungen für allgemeine Programmieraufgaben. Zudem handhabt es die Ausführung von Programmen, die speziell für dieses Framework entwickelt wurden.
3
Die vorgefertigten Programme bieten Lösungen zu verschiedensten Problemen. Dazu gehören:
¾ Grafische Oberflächen,
¾ Datenzugriffe,
¾ Datenbanken,
¾ Kryptografie,
¾ Web Anwendungen,
¾ Numerische Algorithmen,
¾ Netzwerkverbindungen.
Diese Lösungen des Frameworks können benutzt und durch eigene Klassen erweitert werden. Dabei unterstützt .NET verschiedene Programmiersprachen. Beispiele hierfür sind C# und VB.NET.
.NET-Anwendungen werden in einer virtuellen Maschine ausgeführt. Ein ähnliches Konzept wurde bei der Programmiersprache Java verfolgt. Bei Microsoft wird diese als Common Language Runtime (CLR) bezeichnet und ist ein Teil des .NET-Frameworks.
Das Framework soll es insgesamt leichter machen, Programme zu schreiben. Gleichzeitig soll es dazu beitragen, die Verwundbarkeit von Programm und Computer gegenüber Bedrohungen zu minimieren. (vgl. [3] )
2.1.2 Das .NET 3.0 Framework
Das .NET 3.0 Framework wird auch als WinFX oder Longhorn Application Model bezeichnet. Im Wesentlichen baut das .NET 3.0 Framework auf der älteren Version 2.0 auf. Doch es beinhaltet auch einige Neuerungen und Erweiterungen. In der nachfolgenden Abbildung (siehe Abbildung 1) wird ein Überblick über den Aufbau von .NET 3.0 gegeben.
4
Die vier wichtigsten neuen Komponenten werden nun kurz erläutert.
¾ Windows Presentation Foundation (WPF): Die WPF ist auch unter ihrem früheren Codenamen "Avalon" bekannt. Sie ist ein neues User Interface Subsystem. Es bedient sich der 3D Computergrafik Hardware und Direct3D Technologien. (vgl. [3] )
¾ Windows Communication Foundation (WCF): Der Codename der WCF lautete "Indigo". Hierbei handelt es sich um ein Dienstorientiertes Nachrichtensystem, welches unterschiedlichen Programmen erlaubt, lokal oder auf Distanz zu interagieren. (vgl. [3] )
¾ Windows Workflow Foundation (WWF):
Die WWF erlaubt das Einrichten von Prozessautomatisierung und integrierten Transaktionen anhand von Workflows. Workflow bezeichnet das Durchlaufen einzelner Etappen eines Arbeitsprozesses durch Dokumente oder Anwendungen. Der Codename von WWF war "Workflow". (vgl. [3] )
¾ Windows Cardspace (WCS):
Die WCS ist eine Softwarekomponente, die die digitale Identität einer Person sicher aufbewahrt. Des Weiteren stellt WCS ein vereinheitlichtes Interface für die Auswahl einer Identität bei einer Transaktion bereit. WCS ist auch unter dem Codenamen "Infocard" bekannt. (vgl. [3] )
5
2.2 Die Windows Presentation Foundation - WPF
2.2.1 Einführung
Die Klassenbibliothek der Windows Presentation Foundation gehört zum .NET 3.0 Framework. Die WPF kann als Nachfolger von GDI und GDI+ angesehen werden. Im Gegensatz zu seinen Vorgängern setzt WPF auf DirectX auf und bietet dadurch volle Hardwarebeschleunigung. (vgl. [5] )
Hardwarebeschleunigung ist ein Begriff aus der Computertechnik. Es beschreibt eine Technik, bei der Daten durch spezielle Hardware verarbeitet wird, und nicht durch die CPU des Rechners. Dadurch wird eine deutlich bessere Performance ermöglicht. Ein Beispiel für Hardwarebeschleunigung sind Grafikkarten. Dabei werden alle grafikspezifischen Berechnungen durch den speziell darauf ausgelegten Prozessor der Grafikkarte, die GPU, erledigt. (vgl. [6] )
Die Windows Presentation Foundation kann ebenfalls als Nachfolger der mit .NET 1.0 eingeführten Windows.Forms-Bibliothek angesehen werden. Diese Bibliothek dient zur Gestaltung grafischer Benutzeroberflächen. Die WPF ist keine Erweiterung der Windows.Forms-Bibliothek. Vielmehr kann sie als Neuimplementierung angesehen werden, welche wesentlich mehr Möglichkeiten bietet. (vgl. [7] ) Die WPF bringt ein konsistentes Programmiermodell zur Erstellung von Anwendungen mit sich und bietet eine klare Trennung zwischen grafischer Oberfläche und Programmlogik. Eine WPF-Applikation kann sowohl lokal auf dem Desktop als auch in einem Webbrowser ausgeführt werden. Die WPF zielt darauf ab, eine große Anzahl von Diensten gleichzeitig anzubieten. Dazu gehören unter anderem: (vgl. [3] )
¾ Grafische Oberflächen,
¾ 2D- und 3D-Grafiken,
¾ feste und anpassungsfähige Dokumente,
¾ erweiterte Typografie,
¾ Vektorgrafiken,
¾ Rastergrafiken,
¾ Animationen,
6
¾ Audio,
¾ Video.
Mit der WPF ist es möglich Effekte, die bisher nur in Spielen vorkamen, ganz einfach auf den Desktop zu bringen. Dabei erkennt WPF automatisch die Leistungsfähigkeit des Systems und passt die Effektvielfalt der Anwendung an die gegebenen Ressourcen an. (vgl. [5] )
2.2.2 Eigenschaften der WPF
In diesem Abschnitt werden einige der wichtigsten Eigenschaften der Windows Presentation Foundation aufgelistet.
¾ Grafische Dienste:
Alle grafischen Elemente, darunter auch Windows Desktop-Gegenstände, sind Direct3D-Anwendungen. Dies hat verschiedene Gründe. Zum Einen wird dadurch eine einheitliche Form der Darstellung erreicht. Zum Anderen erlaubt es weitere grafische Möglichkeiten. Weiterhin ist es dadurch möglich die GPU der Grafikkarte zu nutzen und die CPU zu entlasten. Außerdem wird dadurch der Einsatz von Vektorgrafiken ermöglicht. (vgl. [3] )
Vektorgrafiken basieren anders als Rastergrafiken nicht auf einem Pixelraster, in dem jedem Bildpunkt ein Farbwert zugeordnet ist. Sie definieren sich mittels mathematischer Funktionen. Dadurch ist es möglich, dass Vektorgrafiken ohne Qualitätsverlust beliebig skaliert und verzerrt werden können. (vgl. [8] )
Zudem erlaubt die WPF, 3D-Modell Rendering und Interaktion in 2D-Anwendungen.
Auch einige Spezialeffekte können realisiert werden. So beinhaltet die Bibliothek unter anderem Methoden, um Schattenwurf-, Unschärfe- und Spiegelungs-Effekte zu implementieren. (vgl. [3] )
7
Arbeit zitieren:
Dipl.-Inf.(FH) Ronny Böttger, 2008, Konzeptionelle Untersuchung der Windows Presentation Foundation (WPF), München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
Virtuelle Realität. Ein Überblick
Informationswissenschaften, Informationsmanagement
Hausarbeit (Hauptseminar), 27 Seiten
Formatvorlage (Microsoft Word) für eine Diplomarbeit, Masterarbeit, Ha...
Für MS Word 2003 - Update 2010
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Formatvorlage (OpenOffice) für eine Diplomarbeit, Masterarbeit, Hausar...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 35 Seiten
Formatvorlage / Vorlage zur Erstellung einer Diplomarbeit, Bachelorarb...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 15 Seiten
Formatvorlage / Vorlage für eine Diplomarbeit / Hausarbeit
Für MS Word 2007 - dotx
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Anleitung zum Erstellen schriftlicher Arbeiten: Der Aufbau einer wisse...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 20 Seiten
Erstellen einer schriftlichen Hausarbeit
Vorlagen, Muster, Formulare, Infobroschüren
Hausarbeit, 14 Seiten
Grundtechniken wissenschaftlichen Arbeitens
Bibliografieren - Reden - Schr...
Vorlagen, Muster, Formulare, Infobroschüren
Skript, 46 Seiten
Ratgeber zur Erstellung wissenschaftlicher Arbeiten. Diplomarbeiten - ...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 39 Seiten
Ronny Böttger's Text Konzeptionelle Untersuchung der Windows Presentation Foundation (WPF) ist nun auf dem Buchmarkt erhältlich
Ronny Böttger hat den Text Konzeptionelle Untersuchung der Windows Presentation Foundation (WPF) veröffentlicht
Ronny Böttger hat einen neuen Text hochgeladen
Windows Presentation Foundation (.NET WPF)
Grafische Benutzerschnittstell...
Frank Eller, Holger Schwichtenberg
Programming Wpf: Building Windows Ui with Windows Presentation Foundat...
Chris Sells, Ian Griffiths
Professional WPF Programming: .Net Development with the Windows Presen...
Chris Andrade, Shawn Livermore, Scott Van Vliet
0 Kommentare