1 / 24

Sponsoren

Sponsoren. Softwaresponsoren. Mediasponsoren. WPF – mehr als bunte Buttons. Stefan Lange Stefan.Lange@empira.de. Agenda. 15 WPF-Konzepte die man kennen sollte Je 1 Konzept pro Slide plus Beispiel(e) Ziel des Vortrags: Was bietet WPF dem Software-Entwickler

tola
Download Presentation

Sponsoren

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sponsoren Softwaresponsoren Mediasponsoren

  2. WPF – mehralsbunte Buttons Stefan Lange Stefan.Lange@empira.de

  3. Agenda • 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

  4. WPF (Windows Presentation Foundation) • 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

  5. XAML(Extensible Application Markup Language) • 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

  6. Content • UI-Elemente haben einen Content • Der Content kann beliebiges Objekt sein: • Text • Bild • Grafik • Oder daraus zusammengesetzt

  7. Dependency-Properties • 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

  8. Routed Events • 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

  9. Layout Panels • 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...

  10. Animation • Das Veränderung von Dependency-Properties über einen Zeitraum • Linear, diskret,... • Startzeit, Dauer, Wiederholung, Umkehrung, Ratio,... • Über 150 Animations-Klassen

  11. Brushes • 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)

  12. Styles, Trigger & Templates • 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

  13. Data-Binding • Verbindet eine Target- und eine Source-Property • Ohne Code in XAML möglich • Target-Property muss Dependency-Property sein

  14. Data-Validation • Prüfung der Eingaben über eine ValidationRule • Visualierung von Fehlerzuständen und Fehlermeldungen

  15. Data-Templates • Visualisierung von Daten durch konfigurierte Items in Item-Controls (Listbox, ListView) • Ersetzung des Default-Templates durch individuelles Template • Alle WPF-Item-Controls sind über Data-Templates konfigurierbar

  16. Control-Templates • Der Presenter des gesamten Controls wird durch Template ersetzt • Erlauben ein “Skinning” der Oberfläche

  17. 3D-Grafik • 3D-Geometries • Kameras, Lichtquellen, Animationen,... • Alles, was man für 3D-Grafik braucht

  18. Textlayout & Fonts • 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, ...)

  19. XPS (XML Paper Specification) • 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)

  20. Interportabiliät • 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

  21. Summary • 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!

  22. Q&A

  23. www.justcommunity.de www.dnug-koeln.de

  24. Sponsoren Softwaresponsoren Mediasponsoren

More Related