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.

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

Der in vorletzte Schritt der Abbildung 4.4 wird oft als <strong>Visual</strong> Inheritance oder Property<br />

Inheritance bezeichnet, um ihn von der klassischen Vererbung der Objektorientierung<br />

abzugrenzen. Hierbei wird ermittelt, ob der Wert vielleicht in einem der Vorfahren im<br />

<strong>Visual</strong>Tree gesetzt wurde.<br />

Genauso wie Attached Routed Events gibt es auch Attached Dependency Properties.<br />

Sie können auf Elemente gesetzt werden, die diese Eigenschaften nicht definieren. So<br />

kann eine Canvas.LeftEigenschaft zu einem beliebigen Control zugewiesen werden,<br />

obwohl Control diese Eigenschaft nicht definiert.<br />

Styles<br />

Ein Style definiert eine Reihe von Settern für Eigenschaften, damit sie einheitlich auf<br />

mehrere Widgets angewendet werden können. Ein Style kann einen key haben, mit dem<br />

man ihn referenzieren kann, <strong>und</strong> einen TargetType, der festlegt, auf welche Elemente<br />

er angewendet werden kann. Auch kann ein Style einen anderen Style erweitern (mit<br />

dem Attribut BasedOn). Des Weiteren können in Styles auch Trigger definiert werden<br />

(siehe Abschnitt Trigger).<br />

Listing 4.3 zeigt ein einfaches Beispiel für einen Style.<br />

1 <br />

2 <br />

3 <br />

4 <br />

Listing 4.3: Beispiel Styles<br />

Templates<br />

Während ein Style nur Eigenschaften eines Elements setzt, kann ein Template den<br />

kompletten <strong>Visual</strong>Tree eines Elements austauschen <strong>und</strong> damit ein völlig anderes<br />

Aussehen des Elements erreichen. Templates sind die wesentliche Technik, um die<br />

Eigenschaften <strong>und</strong> das Verhalten eines Widgets von seinem Aussehen zu trennen.<br />

Es gibt drei verschiedene Arten von Templates: ControlTemplates, mit denen sich<br />

das Aussehen eines Widgets anpassen lässt; DataTemplates, die es im Wesentlichen<br />

erlauben, für beliebige (Daten) Objekte eine visuelle Repräsentation zu erzeugen <strong>und</strong><br />

ItemsControlTemplates, mit denen ItemsPanels (z.B. ListBoxes) anpasst werden<br />

können.<br />

Trigger<br />

Trigger definieren, ähnlich wie die Styles, eine Reihe von Settern für Eigenschaften.<br />

Diese werden dann angewandt, wenn ein spezieller Zustand ausgelöst wurde. Bei<br />

PropertyTriggern <strong>und</strong> DataTriggern ist dies, wenn zugehörige Eigenschaften<br />

einen bestimmten Wert angenommen haben, oder bei EventTriggern, falls ein

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!