Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Katarina Baumgartner Geändert vor über 8 Jahren
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 16.02.20092
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) 16.02.20093
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 16.02.20094
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 16.02.20095
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 16.02.20096
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 16.02.20097
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 16.02.20098
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 16.02.20099
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 16.02.200910
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 16.02.200911
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 16.02.200912
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 16.02.200913
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 16.02.200914
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.02.200915
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 16.02.200916
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 16.02.200917
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 16.02.200918
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: * 16.02.200919
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 16.02.200920
21
Der Blick über den Tellerrand Eclipse XML Windowing Toolkit Android Weitere Informationen 16.02.200921
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 16.02.200922
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 16.02.200923
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. 16.02.200924
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. 16.02.200925
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.