Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 2 Dependency Properties s.a.

Slides:



Advertisements
Ähnliche Präsentationen
C Sharp (C#) Martin Saternus Senior Student Partner
Advertisements

DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
Kritische Betrachtung
Progwerkstatt JAVA Klasse, Objekte, Konstruktoren, Methoden
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Java: Grundlagen der Objektorientierung
DOM (Document Object Model)
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Programmieren mit JAVA
Vererbung Spezialisierung von Klassen in JAVA möglich durch
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
DVG Klassen und Objekte
Uwe Habermann WPF Avalon Formulare aus VFP verwenden Venelina Jordanova
MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 10 Die erste, eigene Klassenbibliothek (Level 100) Presenter: Daniel Walzenbach Technologieberater.
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 4 Folie 2 Message Passing mittels Sockets (1) s.a.
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 3 Folie 2 Layout (1) Zur Anordnung der Steuerelemente.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 6 Folie 2 ASP.NET Einführung (1) Microsoft-Technologien zur Entwicklung.
Silverlight Eine Einführung. Agenda 1.Was ist Silverlight? 2.Die Silverlight Philosophie 3.Vorstellung des Szenarios 4.Einführendes Beispiel 5.Konzepte.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 3 Folie 2 Windows Presentation Foundation (WPF) s.a.
Windows Presentation Foundation WS 2013/14 Prof. Dr. Herrad Schmidt
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 6 Folie 2 Routed Events s.a.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 11 Folie 2 Microsoft Internet Information Services (IIS)
SQL Server 2005 CLR-Integration
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
Java für Fortgeschrittene
Das Model-View-ViewModel-Pattern
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Windows Presentation Foundation WS 2013/14 Prof. Dr. Herrad Schmidt
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 8 Folie 2 Commands (1) s.a.
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 1 Folie 2 Microsoft.NET Framework: Quelle:
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 7 Folie 2 Styles (1) s.a.
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 2013 Kapitel 5 Folie 2 Windows Communication Foundation (WCF) s.a.
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 11 Folie 2 Model-View-ViewModel s.a.
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 2013 Kapitel 6 Folie 2 WCF Data Services (1) s.a.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 2 ADO.NET s.a:
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 9 Folie 2 ADO.NET (1) Klassen für Zugriffe.
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 2 Folie 2 ASP.NET HTTP-Handler (1)
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 8 Folie 2 ASP.NET Zustandsverwaltung
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 9 Folie 2 ASP.NET Seitenübergänge
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Intensivmedizin-Applikation mit WPF, WCF und LINQ
Aufgaben Version 1: Es soll eine Wetterstation mit folgenden zwei Anzeigen implementiert werden: Aktuelle Wetterbedingungen mit Temperatur und.
Vortrag: Visual Basic Neuerungen Autor : Dennis Hoyer
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 7 Folie 2 ASP.NET Datenbindung
Daniel Greitens | maximago Performanceoptimierung in WPF und Silverlight User Interfaces 15:30.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Einführung in die Programmierung mit Java
IT2 – WS 2005/20061Nov 14, 2005 Visibility  public: Sichtbar in allen Paketen  protected: Sichtbar innerhalb des Pakets und in den Unterklassen  (default,
Reflection API1 Motivation Reflection API Core Reflection API: java.lang.reflect Seit JDK 1.1 integraler Bestandteil der Java- Klassenbibliothek Ermöglicht:
Abstrakte Klassen und das Interface-Konzept
Microsoft Student Partner
Microsoft Silverlight Autor: Christian Pirker. Inhalt Einführung Silverlight Einführung XAML Silverlight 1.0 und 1.1 Silverlight 2.0 Silverlight 3.0 Ausblick.
DatenBinding mit WPF Holger Mester. Agenda  Einführung  Grundlagen des DataBindings  Quelle/Ziel  Interaktionsmodus  Einfaches Binden  Behandeln.
Vererbung. Klassen - Vererbung  Eine Klasse kann von einer Basisklasse abgeleitet werden  Die abgeleitete Klasse erbt die Eigenschaften und Methoden.
S INGLETON P ATTERN IN M ATLAB By Giuseppe
C++ FÜR cOMPUTERSPIELENTWICKLER
Tutorium Software-Engineering SS14 Florian Manghofer.
Implementieren von Klassen
 Präsentation transkript:

Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 2 Dependency Properties s.a. Dependency Properties stellen eine Erweiterung der klassischen Properties dar und bieten damit weitere Funktionalitäten: automatische Aktualisierung der abhängigen Objekte Property-Vererbung über den Visual Tree eine integrierte Validierung die Deklaration von Standardwerten den Aufruf von Callback-Methoden, wenn Wertänderungen aufgetreten sind Animationen Data Binding Styles Attached Properties sind eine spezielle Variante der Dependency Properties. Dabei werden die Werte eines Eltern-Elements im Kind- Element gesetzt.

Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 3 Dependency Property System Eine Klasse die von der Klasse DependencyObject (s.a. us/library/system.windows.dependencyobject(VS.100).aspx#inheritanceContinued ) erbt, kann am Dependency Property System partizipieren, kann also Dependency Properties besitzen. us/library/system.windows.dependencyobject(VS.100).aspx#inheritanceContinued Viele Properties der Controls sind Dependency Properties. Sie lassen sich aber wie normale Properties nutzen, weil sie durch wrapper versteckt werden. Dependency Properties werden bei einem Element/Objekt gesetzt und gelten dann für alle untergeordneten Controls Ausnahme 1: Vererbt wird nur, wenn FrameworkPropertyMetadata.Inherits für dieses Dependency Property auch auf true gesetzt ist. Ausnahme 2: Einige Controls wie StatusBar, Menu und ToolTip setzen ihre font-Properties intern. Sie werden bestimmt durch die Einstellungen des Control Panel (Systemeinstellungen).

Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 4 Data Binding s.a. Dependency Properties können an verschiedene Arten von Datenquellen gebunden werden. Bei den Daten kann es sich um CLR-Objekte oder XML-Daten handeln. s.a. Das Benachrichtigungssystem von WPF kann die Aktualisierung von Daten automatisieren. Modell (Quelle: s.o.) mit binding target object, target property, binding source und path to the value, data flow, UpdateSourceTrigger

Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 5 Erstellen einer Bindung in XAML unter Verwendung der Markuperweiterung Binding Angabe der Bindungsquelle mittels einer der Alternativen: ElementName (Bindung an andere Elemente) Source (in einzelnen Bindungsdeklarationen) DataContext (für das jeweilige Element oder ein übergeordnetes) RelativeSource (Quelle relativ zum Ziel, z.B. Self) Angabe des Pfades zum Wert mittels Path oder Xpath (XML-Daten) sofern der Wert nicht identisch ist mit dem binding source object Evtl. setzen der Mode-Eigenschaft OneWay (default) Änderungen der source property führen automatisch zur Änderung der target property TwoWay gegenseitige Automatisierung OneWayToSource Änderungen der target property führen automatisch zur Änderung der source property

Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 6 Ressourcen s.a. WPF-Ressourcen erlauben die Wiederverwendung von Objekten und Werten. Binäre Ressourcen: Dateien, die Bilder, Musik, Videos in Form von binären Datenströmen enthalten, und in die Assembly der Applikation eingebettet werden, z.B. Logische Ressourcen: Objekte einer Klasse werden (meist in XAML) bei einem WPF-Element definiert und an verschiedenen Stellen im XAML-Dokument referenziert. Als Ressource lässt sich ein Objekt beliebiger Klassen verwenden, allerdings muss die Klasse einen parameterlosen Konstruktor besitzen. Elemente können statisch oder dynamisch (nur bei Dependency Property) auf die Ressourcen zugreifen.

Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 7 Logische Ressourcen Ein FrameworkElement verfügt über ein Resources-Property vom Typ ResourceDictionary. Alle abgeleiteten Controls können damit einen Resources-Abschnitt definieren, z.B. Logische Ressourcen in App.xaml stehen anwendungsweit zur Verfügung. Die Ressource muss bekannt sein, bevor sie benutzt wird. Kinderelemente können eine bestimmte Ressource mit der StaticResource - oder DynamicResource -Markup-Extension über den key der Ressource referenzieren, z.B. Nach der Ressource wird aufwärts im Logical Tree, danach im Application-Objekt und danach bei den systemweiten Ressourcen (SystemParameters, SystemFonts, SystemColors, theme-spezifische Ressourcen) gesucht.

Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 8 INotifyPropertyChanged-Schnittstelle Implementiert eine Klasse die INotifyPropertyChanged-Schnittstelle können Benachrichtigungen über Änderungen einer Property an ein gebundenes Steuerelement übermittelt werden. Implementierung: Bildung einer Klasse, die INotifyPropertyChenged implementiert z.B. public class Artikel : INotifyPropertyChanged Deklaration des PropertyChanged event: public event PropertyChangedEventHandler PropertyChanged; Auslösen des Ereignisses, wenn sich ein Property ändert: PropertyChanged(this, new PropertyChangedEventArgs(propertyName));

Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 9 Data Binding an Collections Anzeige für Datenlisten: ItemsControl und abgeleitete Controls Zum Binden von ItemsControl an ein collection object dient die Property ItemsSource. Es kann jede collection verwandt werden, die die IEnumerable- Schnittstelle implementiert. Um automatische Aktualisierung zu erreichen, muss die collection die INotifyPropertyChanged-Schnittstelle implementieren. Dafür stellt WPF die ObservableCollection(T)-Klasse zur Verfügung. Zur vollständigen Aktualisierung aller Datenwerte muss auch ein Objekt in der collection die INotifyPropertyChanged-Schnittstelle implementieren.

Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 10 Collection Views Zwischen der Collection und dem ItemsControl liegt eine CollectionView. Sie stellt einen Zeiger auf das aktuell selektierte Objekt (CurrentItem property) bereit. Dieses Objekt kann in einem ContentControl angezeigt werden. Voraussetzung: IsSynchronizedWithCurrentItem="True" beim ItemsControl. Die CollectionView wird explizit vom Entwickler oder implizit von der WPF erstellt (DefaultView). Sie realisiert Sortier-, Filter- und Gruppierungsabfragen, ohne Änderung der source collection. Für das Filtern, Sortieren und Gruppieren in XAML wird ein CollectionViewSource-Element benutzt und an die Collection gebunden. Das ItemsControl wird an das CollectionViewSource- Element gebunden.

Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 11 Solution 5_DataBinding A_BindungAnSteuerelemente B_BindungAnRessourcen C_DataContext D_Benachrichtigung E_ObservableCollection F_MasterDetail G_Ressourcen H_Internationalisierung