Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 8 Folie 2 Commands (1) s.a.

Slides:



Advertisements
Ähnliche Präsentationen
Vorbereitung zu Praktikum 3
Advertisements

DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
Java: Programmierung grafischer Oberflächen
Indirekte Adressierung
Ein Beispiel in Java.
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Command Pattern Karola Schäuble,
DVG Einführung in Java1 Einführung in JAVA.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
Abstrakte Klassen, Interface
Anwendung von EvaSys (Version 3.0) für Teilbereichsadminstrator/inn/en
Wizards & Builders GmbH Einführung in die objektorientierte Programmierung Norbert Abb.
Uwe Habermann WPF Avalon Formulare aus VFP verwenden Venelina Jordanova
MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 7 Strukturierte Ausnahmebehandlung (Level 100) Presenter: Daniel Walzenbach Technologieberater.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Einführung in die Programmierung
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.
Hyperlinks und Anker Links notieren
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)
Eine kurze Einführung von Boris Smeisser
Einsatz von Anwendungssystemen WS 2013/14 Prof. Dr. Herrad Schmidt
Game Development mit LUA Integration und Kommunikation von LUA mit C++ Referat von Paul van Hemmen Seminar: Reusable Content in 3D und Simulationssystemen.
Grundlagen der Programmierung
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
Gruppe: Gewinnt Überblick 1.0 (Martin Kapfhammer)
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.
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 5 Folie 2 Dependency Properties 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
Aufgaben Version 1: Es soll eine Wetterstation mit folgenden zwei Anzeigen implementiert werden: Aktuelle Wetterbedingungen mit Temperatur und.
Objectives Verstehen was unterDelegate verstanden wird
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
Das Command Muster Deimbacher, Gölles.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 7 Folie 2 ASP.NET Datenbindung
Polymorphie (Vielgestaltigkeit). Wenn eine Methode, wie z.B. print für verschiedene Programmteile steht (und z.B. einmal Objekte verschiedener Klassen.
Daniel Greitens | maximago Performanceoptimierung in WPF und Silverlight User Interfaces 15:30.
A Workshop About this chapter General description Units Time Schedule
Java-Kurs Übung Besprechung der Hausaufgabe
Einführung in die Programmierung mit Java
Institut für Kartographie und Geoinformation Prof. Dr. L. Plümer, Dipl.-Ing. D. Dörschlag, Dr. G. Gröger Einführung in die Programmierung mit Java 13.
Einführung in die OOP in Java
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.
GUI Programmierung in Java Branimir Djordjevic. GUI - Wichtige Begriffe -  Die Swing-Bibliothek in Java stellt zum Beispiel die folgenden Windows zur.
C++ FÜR cOMPUTERSPIELENTWICKLER
Data/Code driven UI mit WPF Teil 2
Von Cem, Maurice und lars
Implementieren von Klassen
 Präsentation transkript:

Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 8 Folie 2 Commands (1) s.a. Zweck: Commands dienen der Entkopplung der GUI von der Anwendungslogik. Unterschiedliche Quellen (Button, Menü, Tastenkombination, etc.) können dieselbe Programmlogik aufrufen und diese auf verschiedene Ziele anwenden (z.B. Copy, Cut, Paste). Mit Hilfe von Commands kann gesteuert und überwacht werden, ob in der momentanen Situation eine Aktion ausgeführt werden kann. Entsprechend kann ein Button oder Menüpunkt aktiviert bzw. deaktiviert werden. Commands implementieren die ICommand -Schnittstelle mit den Methodenschnittstellen Execute und CanExecute sowie dem Event CanExecuteChanged.

Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 8 Folie 3 Commands (2) Die WPF-Klassen RoutedCommand bzw. RoutedUICommand (hat zusätzlich ein Text-Property) implementieren ICommand. Sie können vom Entwickler genutzt werden, um die spezifische Logik zu implementieren. Konzept: command: Befehl, der ausgeführt werden soll, z.B. Paste command source: Objekt, welches den Befehl aufruft, z.B. MenuItem command target: Objekt, für das der Befehl ausgeführt wird, z.B. TextBox Command binding: Objekt, das dem Befehl die Befehlslogik zuordnet, z.B. Window, auch CommandHandler genannt. CommandBinding enthält die EreignisHandler für die Ereignisse Executed und CanExecute.

Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 8 Folie 4 Commands (3) Die Methoden Execute und CanExecute eines RoutedCommand enthalten nicht die Anwendungslogik des Befehls, sondern lösen Routingereignisse aus, die die Elementstruktur per Tunneling und Bubbling durchlaufen, bis sie auf ein Objekt mit einer CommandBinding treffen. Dabei wird ein RoutedCommand an Ereignishandler gebunden, die den Befehl implementieren.ExecuteCanExecuteRoutedCommand CommandBinding Das Routing beginnt beim command target. Wenn ein Command Handler aufgerufen wurde, wird kein weiterer mehr ausgeführt. command target kann bei der command source angegeben werden. Ist command target nicht definiert, wird das Element mit dem Tastaturfokus als command target verwendet. Mittels CommandParameter können dem Command für den Aufruf Daten mitgegeben werden.

Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 8 Folie 5 Commands (4) WPF stellt eine Reihe von vordefinierten Routed Commands in Befehlsbibliotheken zur Verfügung, für die nur noch die Logik des Befehls implementiert werden muss. Die Befehlsbibliotheken kapseln die Commands in Klassen wie ApplicationCommands, … Einige Controls stellen auch die Implementierungslogik für viele Commands in der Befehlsbibliothek zur Verfügung (built-in command binding), z.B. die TextBox für Copy, Paste, Cut, Undo, Redo.

Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 8 Folie 6 Implementierung von vordefinierten RoutedCommands Um ein Command bei einer command Source zu deklarieren, wird das Command-Property mit dem Namen des Commands belegt. Das Command-Property wird beim MenuItem, Button, Radio­Button, CheckBox, Hyperlink, InputBinding (z.B. F1) u.a. Controls unterstützt. Enthält ein Control die Implementierungslogik für diesen Command, wird der Befehl auf dieses angewandt, wenn es den Fokus erhält. Muss die Logik implementiert werden, erfolgt ein CommandBinding. Speichern Ein übergeordnetes Element fungiert als Command Handler:... Die EventHandler OnCommandCanExecute und OnCommandExecute sind zu implementieren.

Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 8 Folie 7 Erstellung eines RoutedUICommand In der Klasse MainWindow werden ein Objekt der Klasse RoutedUICommand instanziiert: public static readonly RoutedUICommand cmd = new RoutedUICommand("Anzeige", "cmd", typeof(MainWindow)); und die EventHandler implementiert. In XAML: Implementierung eigener Commands Ableitung einer Klasse aus ICommand und Implementierung der Methoden CanExecute und Execute sowie des Events CanExecuteChanged. In XAML: … < Button Command="{StaticResource MeinCommand}" …

Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 8 Folie 8 Solution 8_Commands A_BuiltInCommandBinding B_RoutedCommands C_Parameter D_Target E_InputGestures F_ImplementICommand