Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

DatenBinding mit WPF Holger Mester. Agenda  Einführung  Grundlagen des DataBindings  Quelle/Ziel  Interaktionsmodus  Einfaches Binden  Behandeln.

Ähnliche Präsentationen


Präsentation zum Thema: "DatenBinding mit WPF Holger Mester. Agenda  Einführung  Grundlagen des DataBindings  Quelle/Ziel  Interaktionsmodus  Einfaches Binden  Behandeln."—  Präsentation transkript:

1 DatenBinding mit WPF Holger Mester

2 Agenda  Einführung  Grundlagen des DataBindings  Quelle/Ziel  Interaktionsmodus  Einfaches Binden  Behandeln von Änderungen  Konvertierung von Daten  Validierung von Daten  Binden von Collections  Collection Views  Master-Detail User Interfaces  Data Templates  Debuggen von DataBindings  Weitere Informationen

3  WPF sind.NET-Framework-Klassen, die es erlauben ansprechende und funktionale Oberflächen für Windows-basierende Systeme zu erstellen  Oberflächen werden mit DirectX gerendert  Trennung von Oberfläche und Code  XAML (Markup) für die Oberflächen (Designer)  C# oder VB.NET (Managed Code) für die Logik (Entwickler)  Kann als Windows- oder Web-UI entwickelt werden  Austausch von:  Sitzungsdaten  Eigenschaften  Ressourcen  2D-, 3D- und Animationsdarstellung Designer Entwickler Die Windows Presentation Foundation (WPF)

4  Ansatz, um in einer Applikation Daten darzustellen und mit ihnen zu interagieren  Daten können aus verschiedenen Datenquellen an ein Steuerelement gebunden werden  Datenbank (ADO.NET)  XML-Datei  CLR-Objekte  UI-Elemente Was ist DataBinding

5 Was ist DataBinding  WPF-DataBindung benötigt:  Zielobjekt mit Zieleigenschaften (Target object)  Quellobjekt (Source object)  Bindingobjekt  Zielobjekt muss DataBinding unterstützen  Quellobjekt ist eine beliebige Datenquelle  Bindingobjekt legt fest, wie Ziel und Quelle interagieren Zielobjekt Bindingobjekt Quellobjekt

6 Zielobjekt Bindingobjekt Quellobjekt Zielobjekt Bindingobjekt Quellobjekt Zielobjekt Bindingobjekt Quellobjekt Interaktionmodus zwischen Quelle und Ziel  One Way  Ändert sich das Quellobjekt, wird automatisch das Zielobjekt aktualisiert  Änderungen an der Quelle werden nicht zum Ziel durchgereicht  Two Way  Wird Quelle oder Ziel geändert, ändert sich der Gegenpart  One Way to Source  Die Quelle wird automatisch aktualisiert, wenn sich Daten im Ziel geändert werden  One Time  Ziel wird nur beim ersten Einlesen der Quelle geändert Zielobjekt Bindingobjekt Quellobjekt

7 Binden an eine Source-Eigenschaft  Ein Objekt wird durch die Angabe einer Ressource als Source- Eigenschaft (Property) an ein Control gebunden  Beispiele:  Ein Objekt wird in den Ressourcen des Elternobjektes (siehe VisualTree) definiert  Wird das Objekt im DataContext des Elternobjektes gebunden, kann im Zielobjekt ein leerer Binding-Syntax verwendet werden

8 Binden an ein anderes Steuerelement  Die ElementName-Eigenschaft eines Steuerelements kann an ein anderes gebunden werden  Durch das Binden wird der DataContext vom Eltern-Objekt vererbt  Mit dem ElementName wird die Quelle einer Datenbindung geändert, der geerbte DataContext wird überschrieben  Beispiel  Die Background-Eigenschaft eines Canvas wird durch Benutzung von ElementName an die SelectedItem-Eigenschaft einer ComboBox gebunden

9 Die Change-Notification-Eigenschaft  Die Change-Notification-Eigenschaft sorgt dafür, dass sich Änderungen auf der UI zum Objekt durchschlagen  Arten der Change Notification  PropertyChanged: Quell-Daten werden geändert, wenn sich Daten im Ziel-Objekt ändern, z. B. Check- oder Radiobuttons  LostFocus: Quell-Daten werden aktualisiert, wenn das Ziel-Objekt seinen Fokus verliert, z. B. Eingabe-Controls wie Textboxen  Explicit: Quell-Daten werden nur dann aktualisiert, wenn das Ziel eine Aktualisierung explizit zulässt, z. B. nach der Eingabevalidierung  Kann nur mit den Interaktionsmodus TwoWay und OneWayToSource verwendet werden

10 Datenkonvertierung  Datentypen von Quelle und Ziel müssen kompatibel sein  Weichen die Datentypen ab, versucht die WPF diese automatisch zu konvertieren  Beispiel: Die Farbe im Beispielobjekt ist ein String > die Foreground- Eigenschaft eines Controls erwartet ein Brush-Typ  Schlägt die Konvertierung fehl, wird ein Fehler ausgegeben

11 Eigener Datenkonvertierer  Sind Konvertierungen seitens WPF nicht möglich, wird ein eigener Konverter implementiert  Ein eigener Konverter implementiert IValueConverter  Beinhaltet die Methoden Convert() und ConvertBack()  Der Konverter muss der Applikation bekannt gemacht werden  Erzeugen eines Ressourcen-Wörterbuchs  Verknüpfen des Wörterbuchs mit der Applikation in der App.xaml  Aufruf des Konverters beim Zielobjekt

12  Daten werden vor dem Senden an die Quelle auf Richtigkeit geprüft  Im Binding-Objekt werden die Prüfungsrichtlinien festgelegt (Validation rules)  Sendet der Benutzer seine Daten, werden diese zuerst geprüft  Schlägt die Prüfung fehl, wird eine Meldung an das Ziel geschickt  War die Prüfung erfolgreich, werden die Daten zur Quelle geschickt  Ist ein Konverter vorhanden, werden die Daten vorher gewandelt Validierung von Daten

13  Collections beinhalten eine Gruppe von Daten, die in entsprechenden Steuerelementen dargestellt werden  Collections, die gebunden werden sollen, müssen das IEnumerable- Interface implementieren  Änderungen (sowohl an der Quelle als auch am Ziel) werden durchgereicht  Für Änderungen muss das INotifyCollectionChanged-Interface implementiert werden  Collection mit INotifyCollectionChagend-Interface sind obserable  Änderungen werden unverzüglich durchgereicht Binden von Collections

14 Verwenden von Collection Views  Collection Views erlauben  Sortieren  Filtern  Gruppieren der Daten einer Collection  Collection Views werden wie Collections gebunden  Mehrere Collection Views können zu einer zusammengefasst werden  Daten können ohne erneute Abfrage der Quelle reorganisiert werden

15 Master-Details User Interfaces  Bestehen aus einem Steuerelement-Paar  Master Control  Detail Control  Master:Detail bilden eine 1:n Beziehung  Master-Detail UI wird durch Binden mehrerer Steuerelemente an die gleiche Datenquelle erzeugt

16 Verwenden von Data Templates  Data Templates erlauben die Definition der Anzeige von Daten in Abhängigkeit des Kontextes  Beispiel: Positive Zahlungseingänge werden schwarz, negative rot dargestellt  Data Templates werden als Ressource im Parent Element des Gültigkeitsbereichs definiert  Sie werden durch Trigger ausgelöst

17 Debugging von DataBindings  DataBindings werfen keine Exception  Lediglich Fehleranzeige im Ausgabefenster des Visual Studio  Seit WPF 3.5 kann die Klasse PresentationTraceSource gesetzt werden  CLR-Namespace auf System.Diagnostics setzen  Tracelevel beim Binding-Object setzen  Umfangreichste Anzeige im Ausgabefenster mit High

18  Literatur .NET 3.0 – WCF, WPF und WF, Ein Überblick.NET 3.0 – WCF, WPF und WF, Ein Überblick  Zielgruppe: Einsteiger  Preis: 7,95 €, Wertung:  Windows Presentation Foundation – Das umfassende Handbuch Windows Presentation Foundation – Das umfassende Handbuch  Zielgruppe: Fortgeschrittene  Preis: 49,90 €, Wertung:  WPF und XAML-ProgrammierhandbuchWPF und XAML-Programmierhandbuch  Zielgruppe: Experten  Preis: 49,90 €, Wertung: Weitere Informationen

19 Weitere Informationen * Wertung bei Amazon.de  Literatur  Windows Presentation Foundation Windows Presentation Foundation  Zielgruppe: Einsteiger  Preis: 9,95 €, Wertung: *  User-Interface-Design mit Microsoft Expression Blend 2 User-Interface-Design mit Microsoft Expression Blend 2  Zielgruppe: Fortgeschrittene (Designer)  Preis: 39,90 €, Wertung: *  Windows Presentation Foundation (.NET WPF) Windows Presentation Foundation (.NET WPF)  Zielgruppe: Einsteiger  Preis: 44,90 €, Wertung: *

20  Internet-Ressourcen  WPF Data Binding Tutorial auf core.net WPF Data Binding Tutorial auf core.net  WPF intim auf IT-Republic.de WPF intim auf IT-Republic.de  WPF-Blogger WPF-Blogger  Vorlagen für ungewöhnliche Steuerelemente auf MSDN Vorlagen für ungewöhnliche Steuerelemente auf MSDN  How Do I-Videos zur WPF How Do I-Videos zur WPF  Windows Presentation Foundation FAQ auf MSDN Windows Presentation Foundation FAQ auf MSDN  Fluent Ribbon Control Suite auf Codeplex Fluent Ribbon Control Suite auf Codeplex Weitere Informationen

21  Der Blick über den Tellerrand  Eclipse XML Windowing Toolkit  Android Weitere Informationen

22  Neuerungen in WPF 3.5 SP1 Neuerungen in WPF 3.5 SP1  Performance  Animationen laufen schneller und flüssiger  Scrollen in Steuerelementen mit vielen Daten ohne Wartezeiten  Verbesserungen bei Darstellung von Grafiken  Datenverwaltung  Neue Eigenschaften in Klasse ItemsControl  AlternationCount: Berechnung der Anzahl alternierender Zahlen  AlternationIndex: Dependency Property, die pro Item einen Wert zwischen 0 und AlternationCount besitzt  IEditableCollectionView: lässt das Bearbeiten von Items in einem CollectionView-fähigen Steuerelement zu  Visual Studio  Performance-Verbesserungen  Verbesserte Verwendung von Controls im Designer  Alphabetische Sortierung von Eigenschaften im Eigenschaften-Dialog Weitere Informationen

23 Glossar  Binding  Ist eine Prozess oder eine Methode, ein Steuerelement so zu konfigurieren, dass es sich seine Daten aus einer Quelle holen und sie zurückschreiben kann.  Control (Steuerelement)  Ist ein Interaktionselement in einer grafischen Benutzeroberfläche (GUI), wie z. B. eine Schaltfläche (Button).  Dependency Properties  Sind durch klassische.NET-Eigenschaften (Properties) gekapselt. Sie stellen einen Schlüssel zum eigentlichen Wert dar.  DirectX  Ist eine API von Microsoft zur Darstellung von hochauflösenden Grafiken, Videos, 3D-Animationen und Sourround Sound

24 Glossar  Dispatcher  WPF-Applikation starten mit zwei Threads: einen zum Rendern und der andere zum Verwalten der GUI. Der GUI-Thread „parkt“ die Workitems in einem Objekt, das Dispatche genannt wird.  Element tree  WPF-Elemente stehe in einer Baum (Tree)-Relation zu einander. Man unterscheidet zwischen Logical- und Visual-Tree.  Event Handler  Ein Eventhandler ist eine Methode, die an einen speziellen Event geknüpft ist.  Event  Ein Event ist eine Aktion, wie z. B. das Klicken der Maustaste.  Extensible Markup Language (XAML)  Ist eine Markup-Sprache zur deklarativen Applikationsentwicklung

25 Glossar  Observable Collections  Eine Observable Collection beinhaltet eine Collection und ein INotifyCollectionChanged-Interface.  Template Binding  Verlinkt den Wert einer Eigenschaft eines Steuerelements mit dem in einem Template festgelegten Wert. Damit kann das Aussehen und Verhalten (Behavior) eines Steuerelements zentral festgelegt und gesteuert werden


Herunterladen ppt "DatenBinding mit WPF Holger Mester. Agenda  Einführung  Grundlagen des DataBindings  Quelle/Ziel  Interaktionsmodus  Einfaches Binden  Behandeln."

Ähnliche Präsentationen


Google-Anzeigen