Erweiterte Programmierung


Im vorigen Kapitel "Eigenschaften setzen & konvertieren" haben Sie gelernt wie man eine Abhängigkeitseigenschaft direkt setzt oder mittels Konvertern ändert, wenn sich Eigenschaften im Modell (bzw. einer oder mehreren ACComponent-Instanzen) ändern.

Die Konverter-Technik hat jedoch den Nachteil, dass man Methoden bereitstellen muss, die eine Typkonvertierung durchführen. Dies kann jedoch mit anderen WPF-Techniken umgangen werden. Eine davon ist die Nutzung von Stilen und Triggern auf die in den nachfolgenden Unterkapiteln eingegangen wird.

Sie müssen sich aber entscheiden welche Technik Sie verwenden möchten. Beide können nicht gleichzeitig verwendet werden! Das bedeutet im Falle des "Rechteck-Beispiels" dürfen Sie die "Fill"-Eigenschaft nicht direkt setzen, sondern indirekt durch die Nutzung der Setter-Klasse innerhalb eines Stils.

Der erste Schritt ist daher immer einen Stil zu definieren, indem Sie rechts oben das Dreieck aufklappen und das Kommando "Edit Style Setter" aufrufen:

 


Es öffnet sich das Stil-Fenster, in dem Sie dann die grafischen Eigenschaften einstellen können. Selektieren Sie eine Eigenschaft in der Liste in der linken Fensterhälfte. Mit der "Add"-Taste übernehmen Sie die Eigenschaft in den Stil. In der rechten Liste können Sie dann den Wert der Eigenschaft setzen. 

Für unser Rechteck-Beispiel übernehmen Sie die Fill-Eigenschaft und ändern dann die Farbe Füllungsfarbe:

 

Schließen Sie das Stil-Fenster und wechseln in den XAML-Editor. Es wurde folgender Code generiert:

 

Die Fill-Eigenschaft ist nicht mehr direkt gesetzt, sondern mittels der Setter-Deklaration. Stile und Setter sind die Voraussetzung für Trigger. Deswegen sollten Sie für jede Eigenschaft, die Sie mit Triggern dynamisch ändern möchten, zuerst in der "Style.Setters-Collection" hinzufügen.