19.01.2015 Aufrufe

Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...

Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...

Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

4.2 Einführung in die Windows Presentation Fo<strong>und</strong>ation 83<br />

das assoziierte Objekt gespeichert wird. Zusätzlich dazu können einem Trigger mehrere<br />

Actions zugeordnet werden. Dadurch kann der Trigger die Veränderungen vom<br />

assoziierten Objekt beobachten. Sobald ein definierter Zustand von dem assoziierten<br />

Objekt erreicht wird, werden die Invoke-Methoden der Actions ausgeführt.<br />

Behavior bilden eine Kombination aus Triggern <strong>und</strong> Actions. Sie beobachten ein<br />

Element <strong>und</strong> führen gleichzeitig eine Action aus, sobald ein bestimmter Zustand erreicht<br />

worden ist. Dazu muss auch hier das assoziierte Objekt angegeben werden, durch die<br />

AssociatedObject-Property.<br />

4.2.3 Das Model-View-ViewModel Muster<br />

Dieser Abschnitt basiert auf dem Artikel Das Model-View ViewModel-Pattern für WPF-<br />

Anwendungen von Thomas Huber <strong>und</strong> Christoph Pletz [HP07].<br />

Das Model-View-ViewModel (MVVM) Softwaremuster ist eine abgewandelte Variante<br />

des Model View Controller (MVC) Musters, das speziell auf WPF angepasst wurde.<br />

Beim MVC Muster wird eine Client-Software in drei Komponenten geteilt: Das Model,<br />

welches die Daten bereitstellt, der View, der die Daten dem Benutzer anzeigt, <strong>und</strong><br />

der Controller, der die Verarbeitung der Nutzerinteraktion <strong>und</strong> des Programmablaufs<br />

übernimmt. Abbildung 4.5 zeigt die Beziehungen der drei Komponenten zueinander.<br />

Dabei besitzt das Model keinerlei Wissen darüber, wie <strong>und</strong> ob es angezeigt wird – es<br />

muss nur melden, wenn es sich verändert hat. Die Trennung von Controller <strong>und</strong> View<br />

ist in der Praxis jedoch oft sehr schwer. Oft müssen die Daten noch für die Ausgabe<br />

formatiert werden oder bei der Eingabe neuer Daten müssen diese erst verifiziert werden.<br />

Abbildung 4.5: Abhängigkeitsbeziehungen im MVC Muster [Kle07].<br />

Bei dem MVVM Muster bleibt die Rolle des Models <strong>und</strong> des Views im Prinzip gleich.<br />

Dabei greift der View nicht direkt auf das Model, sondern bekommt diese Daten –<br />

eventuell aufbereitet – vom ViewModel. Eine WPF Besonderheit ist, dass der View<br />

möglichst komplett in XAML, also rein deklarativ, erstellt wird. Das ViewModel ist eine

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!