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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

78 Kapitel 4 Programmoberflächenentwicklung für Multitouch-Technologien<br />

Preview<br />

Button<br />

Tunneling<br />

Preview<br />

StackPanel<br />

Bubbling<br />

Preview<br />

Rectangle<br />

Abbildung 4.3: Routed-Events [Hub08]<br />

Das Routing von Events wird durch eine spezielle Routed-Event-Engine verwaltet.<br />

Diese ermöglicht auch die Attached Events.<br />

„Das Konzept eines angefügten Ereignisses ermöglicht es, einen Handler für ein<br />

bestimmtes Ereignis zu einem beliebigen Element hinzuzufügen, das nicht das Element<br />

sein muss, das dieses Ereignis tatsächlich definiert oder erbt.“[Micc]<br />

DependencyProperties<br />

DependencyProperties sind allgemein ausgedrückt .Net Properties, deren Wert in<br />

Abhängigkeit zu anderen Faktoren ermittelt wird. Diese anderen Faktoren können,<br />

neben dem klassischen Wert, den eine Property haben kann (sogenannte local<br />

values), z.B. von Styles oder Animations ermittelt werden. Des Weiteren verfügt<br />

eine DependencyProperty über die ChangeNotifications, also die Möglichkeit,<br />

darüber zu informieren, wenn sich der Wert verändert hat. DependencyProperties<br />

sind ein gr<strong>und</strong>legender Bestandteil des WPF-Frameworks. Insbesondere visuelle<br />

Eigenschaften (wie z.B. Hintergr<strong>und</strong>farbe) sind meist als DependencyProperties<br />

realisiert. Dies erlaubt eine besonders leichte Integration in grafische Tools wie<br />

Expression Blend. Tatsächlich kann eine eigens erstellte DependencyProperty<br />

eines selbst geschriebenen Widgets sofort in Expression Blend verwendet werden.<br />

Damit eine Klasse DependencyProperties verwenden kann, muss sie von der<br />

Klasse DependencyObject ableiten. Die Definition einer eigenen DependencyProperty<br />

erfolgt als eine statische Klassenvariable, erzeugt durch eine Factory-Methode der<br />

DependencyProperty Klasse. Dies mag auf dem ersten Blick etwas unlogisch<br />

wirken (da die Werte einer Eigenschaft objekt-<strong>und</strong> nicht klassenweit gesetzt werden<br />

sollen), das eigentliche Zugreifen auf die Werte wird dann aber über die<br />

von DependencyObject bereitgestellten Methoden GetValue(DependencyProperty)

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!