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 77<br />

1 namespace BasicXAMLExample<br />

2 {<br />

3 /// <br />

4 /// Interaction logic for Window1.xaml<br />

5 /// <br />

6 public partial class Window1 : Window<br />

7 {<br />

8 public Window1 ()<br />

9 {<br />

10 InitializeComponent ();<br />

11 }<br />

12<br />

13 public void NeueFunktion ()<br />

14 {<br />

15 Console.WriteLine ("Ich bin eine Funktion der Klasse Window1");<br />

16 }<br />

17<br />

18 private void button2_Click (object sender , RoutedEventArgs e)<br />

19 {<br />

20 Console.WriteLine ("Button2 wurde geklickt ");<br />

21 }<br />

22 }<br />

23 }<br />

Listing 4.2: Code-Behind des XAML Beispiels<br />

Content Konzept<br />

Die meisten Controls in WPF besitzen je eine öffentliche Eigenschaft Content vom<br />

Typ object. Diese beschreibt den grafischen Inhalt des Controls. Da diese Eigenschaft<br />

von Typ object ist, können beliebige Elemente als Inhalt von anderen Controls dienen<br />

[Per06]. Des Weiteren wird ein zusätzlicher Baum aufgebaut, der Elementen-Baum.<br />

Dieser hat als Wurzelelement ein Window <strong>und</strong> als Kind-Elemente beliebige WPF-<br />

Controls. Die WPF-Programmierung besteht im Gr<strong>und</strong>e genommen nur aus dem Aufbau<br />

<strong>und</strong> der Veränderung des Element-Baums.<br />

Routed-Events<br />

Da ein beliebiges Element ein weiteres beliebiges Element aufnehmen kann, ist ein<br />

neues Event-Model notwendig. Wenn z.B. in einem Button ein StackPanel liegt <strong>und</strong><br />

darin ein Rectangle, ist unklar, welches Element das MouseDown-Event empfangen<br />

soll. Um Unklarheiten zu beheben, sind Routed-Events entwickelt worden. Es kann in<br />

WPF eine von drei verschiedenen Routing-Strategien verwendet werden (vgl. [Hub08]):<br />

• Tunnel - das Event wird von oben durch den <strong>Visual</strong> Tree in niedrigere<br />

Hierarchiestufen geroutet.<br />

• Bubble - das Event von einem im <strong>Visual</strong> Tree tiefer liegenden Element nach oben<br />

gereicht.<br />

• Direct - das Event wird nur auf dem geklickten visuellen Element gefeuert.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!