240 likes | 419 Views
WPF Avalon Formulare aus VFP verwenden. Venelina Jordanova Venelina@VandU.eu. Uwe Habermann Uwe@VandU.eu. Agenda. Was ist WPF? Architektur Voraussetzungen beim Entwickler Voraussetzungen beim Kunden Beispiele Eigene Beispiele Avalon Patient Monitoring. Was wollen wir eigentlich?.
E N D
WPFAvalon Formulareaus VFP verwenden VenelinaJordanova Venelina@VandU.eu Uwe Habermann Uwe@VandU.eu
Agenda • Was ist WPF? • Architektur • Voraussetzungen beim Entwickler • Voraussetzungen beim Kunden • Beispiele • Eigene Beispiele • Avalon Patient Monitoring
Was wollen wir eigentlich? • VFP Anwendung • WPF Benutzeroberfläche • Mehrschichtenarchitektur • Fragen? Jederzeit!
Windows PresentationFoundation • Technologie für Benutzeroberflächen • Enthalten im .NET Framework 3.0 • Benutzung aus Visual Studio einfach möglich • XAML Formulare • Viele Steuerelemente • Vererbung
Aus der Sicht von VFP • Formulare • Datenanbindung • Controlsource • Event Anbindung • Interactivechange • Valid
Konzept / Architektur • Mehrschichtenarchitetur • Entwicklungsumgebungen • VFP • Möglichst viel • Visual Studio • Möglichst wenig und generisch
Konzept / Architektur • Datenbank • VFP, SQL Server, andere • Datenzugriff • VFP Cursoradapter • Geschäftslogik • VFP • Steuerung • .NET DLL • Benutzeroberfläche • XAML
WPF Layer Generic .Net object that renders XAML and gives feedback to VFP application for events Presentation XAML code Single data field value Single field data Value request Call VFP methods Events handling VFP Layer VFP Business rules classes VFP Data Access Data Data request Database Layer VFP MS SQL DB/2 Oracle MySQL
XAML Benutzeroberfläche .NET WPF Manager DLL VFP COM Server Backend Provider DLL VFP Exe-DateiSteuerungGeschäftslogik Daten-bank
Hauptprogramm, Rahmen • VFP Projekt • Datenzugriff • Geschäftslogik • Ansteuerung von WPF • unsichtbar
Benutzeroberfläche • MDI Interface • Multiple Document Interface • Steuerung mit Menü und/oder Symbolleiste • Sichtbarer Rahmen • Formulare
Ablauf • Start VFP Anwendung • Initialisierung Mittelschicht Komponenten • Datenanbindung • Anzeige der Benutzeroberfläche
User clicks a toolbar button WPF Layer User Action: Tab key pressed WPF form User Action: Close button clicked Render UI Send new value Field value Data request reference Fire LostFocus event Fire Closing event Cancel closing – Yes/No Start WPF sub-form Start WPF Main form BackendDataprovider object WPFBackend.DLL GetFieldValue() SetFieldValue() Field value VFP Layer VFP Business rules classes VFP code decides what action to take: start a new form Business rules and process flow control object Save? VFP Data Access CA object Data Data request Data Database Layer Start time Process flow (object instantiating and events firing) Data flow
Geschäftslogik • Gewohntes VFP • Ereignisse aus der WPF Benutzeroberfläche steuern die Geschäftslogik
Datenzugriff • Gewohntes VFP • Cursoradapter • Objektorientiert! • Alle unterstützen Datenbanken
Datenbank • VFP DBC • SQL Server • Andere • ODBC • OLE DB • Muss mit Cursoradapter erreichbar sein
Data Binding • Controlsource in VFP • Definierte Eigenschaft Controlsource in WPF • Realisierung mit VFP COM Server
Event Binding • Reagieren auf Ereignisse • Beispiele:Valid, When, Gotfocus, Lostfocus, Interactivechange, Keypress, Init, Destroy, Click, Dblclick, Rightclick • WPF -> WPF Manager DLL -> VFP BackendDataProvider -> VFP cursor
Entwicklung der Benutzeroberfläche • Editor • Microsoft Expression Blend
Bereitstellung der Benutzeroberfläche • XAML Formulare in VFP Anwendung • WPF Manager DLL • Schicht zwischen VFP und .NET • Mit Visual Studio erstellt • Anzeige der XAML Formulare
Voraussetzungen beim Entwickler • VFP 9 • .NET Framework 3.0 • Visual Studio 2008 • Expression Blend
Voraussetzungen beimKunden • .NET Framework 3.0 • Installierbar auf XP und 2003 • Enthalten in Vista • WPF Manager DLL mit Regasm registrieren C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe <DLL Path>\WpfInterface.dll /codebase /tlb:WpfInterface.tlb • VFP Runtime • Dateien der Anwendung
BeispielanwendungHealthcare • Avalon Patient Monitoring • Optisch ansprechend • Keine Datenanbindung
Vielen Dank undviel Spaß mit WPF! Venelina & Uwe