WPF - mehr als bunte Buttons - Bonn-to

Download Report

Transcript WPF - mehr als bunte Buttons - Bonn-to

Softwaresponsoren
Mediasponsoren
Stefan Lange
[email protected]
www.dnug-koeln.de
www.justcommunity.de
15 WPF-Konzepte die man kennen sollte
Je 1 Konzept pro Slide plus Beispiel(e)
Ziel des Vortrags:
Was bietet WPF dem Software-Entwickler
Wie können die Konzepte genutzt werden
Applikationen der nächsten Generation
(Desktop oder Browser)
Übergreifendes Framework
(als Teil von .NET 3.0)
Userinterface, Design, Visualisierung
Vektorgrafik, Text, Images, 3D-Grafik
Animation, Images, Video, Audio
Dokumente, Druck
Verbindet Design und Programmierung
XML zur deklarativen Beschreibung der
Oberfläche
Layout und Anbindung der Oberfläche
getrennt von der Business-Logik
Von Design-Tools leicht handhabbar
Ermöglicht Zusammenarbeit von Designern
und Entwicklern
XAML-Code kann stets auch in C#
ausgedrückt werden
UI-Elemente haben einen Content
Der Content kann beliebiges Objekt sein:
Text
Bild
Grafik
Oder daraus zusammengesetzt
Werden wie .NET-Properties verwendet
Die Werte werden vom Framework selbst
verwaltet
Weitreichende Konsequenzen:
Das Framework “kennt” alle Werte
Auf Änderungen kann sofort reagiert werden
Benachrichtigung über Änderungen möglich
Vererbung von Properties an Unterelemente
u.a.
Konzept z.B. auch in WF verwendet
Ausgelöst durch z.B. Benutzeraktionen
Event Preview (von außen nach innen)
Event Bubbling (von innen nach außen)
Verarbeitung jederzeit abbrechbar
Events sind Grundlage für Commands
Canvas (absolute Position)
Grid (Tabellen Layout)
StackPanel (horizontal, vertical)
DockPanel (left, top, right, bottom, center)
WrapPanel (StackPanel mit Umbruch)
UniformGrid (Tabelle mit gleichgroßen Zellen)
ViewBox (stretch & scale)
etc...
Das Veränderung von DependencyProperties über einen Zeitraum
Linear, diskret,...
Startzeit, Dauer, Wiederholung, Umkehrung,
Ratio,...
Über 150 Animations-Klassen
Diverse Brushes für Linien, Flächen, Text
SolidColorBrush, LinearGradientBrush,
RadialGradientBrush, ImageBrush,
DrawingBrush
VisualBrush
“Live-Abbild” eines beliebigen Visuals
(Visual ist Basisklasse für allen visuellen Elemente)
Styles: Weisen Properties andere Werte zu
Trigger: Definieren Bedingungen, wann
Styles zugewiesen werden
Templates: Ersetzen einzelne Elemente
durch andere
Skins: Geben einer Anwendung ihren
eigenen Look
Themes: Passen die Anwendung an die
Gegebenheiten der Plattform an
Verbindet eine Target- und eine SourceProperty
Ohne Code in XAML möglich
Target-Property muss Dependency-Property
sein
Prüfung der Eingaben über eine
ValidationRule
Visualierung von Fehlerzuständen und
Fehlermeldungen
Visualisierung von Daten durch konfigurierte
Items in Item-Controls (Listbox, ListView)
Ersetzung des Default-Templates durch
individuelles Template
Alle WPF-Item-Controls sind über DataTemplates konfigurierbar
Der Presenter des gesamten Controls wird
durch Template ersetzt
Erlauben ein “Skinning” der Oberfläche
3D-Geometries
Kameras, Lichtquellen, Animationen,...
Alles, was man für 3D-Grafik braucht
Flowlayout für Fließtexte in UI
FixedPage für Dokumente
Verbessertes ClearType und Antialiasing
TrueType- und OpenType-Fonts
(auch mit Postscript-Outlines)
Professionelle Textfunktionen
(Kerning, Ligaturen, ...)
XAML-basierte Seitenbeschreibung
XPS ist ein Subset von WPF für FixedPage
Kann einfach in WPF-Anwendungen
verarbeitet werden (Erzeugung, Anzeige,
Druck)
Auch aus nicht WPF-Anwendungen
erzeugbar (Dokument-Writer)
Alternatives Spoolformat (zu WMF)
WPF, WinForms, ActiveX-Controls lassen
sich mischen
Praktisch für WPF-Projekte die
bestehenden Code integrieren wollen
Tipp: unbedingt ausprobieren, Performance
kann ggf. schlecht sein
Entwicklungzeiten kürzer als mit WinForms
(Voraussetzung: man beherrscht WPF)
Dank Panels, Binding, Data-Templates uva.
hervorragend auch für “ganz normale”
Anwendugen geeignet
Größter Innovationsschritt seit der
Einführung von Windows 1985
Meine Empfehlung fürs nächste Projekt:
WPF verwenden!
www.justcommunity.de
www.dnug-koeln.de
Softwaresponsoren
Mediasponsoren