Silverlight und implicit styles

by wmn 21. May 2010 23:21

Normalerweise sollen in einer Anwendung alle Elemente der GUI einheitlich aussehen. Bisher hat  man das sowohl in WPF als auch in Silverlight über sogenannte Styles lösen können. In Silverlight mußte man diesen Style aber den Steuerelementen explicit zuweisen, was in WPF nicht nötig war. Jetzt gibt es in SL 4 ebenfalls die sogenannten implicit styles. Das sind Style-Definitionen ohne Key d.h. ohne speziellen Namen, die für alle Elemente des definierten Steuerelementtyps verwendet werden.

Beispiel für einen solchen Style:

image

Verwendet man nun Buttons in seiner Anwendung wird automatisch dieser Style verwendet, wenn am Control nichts anderes angegeben wurde. Dieser Mechanismus greift aber in jedem Fall, was zu unerwarteten Effekten führt:

image                       image

Wenn man sich diese Screen-Shots mal genauer ansieht, entdeckt man, dass alle Buttons (d.h. auch die von Silverlight-Controls) diesen Style verwenden. Im Beispiel werden die Knöpfe vom DataPager und Datepicker ebenfalls gedreht. Abhilfe bieten hier die üblichen Wege, wie überschreiben oder eigene Usercontrols. Eventuell hilft auch die Kombination von verschiedenen Styles weiter:

 

image

Tags:

Silverlight