Christian Moser Software Developer and UX Designer Zühlke Engineering AG
Sie kennen die wichtigsten Styling- Konzepte von Silverlight Sie wissen, welches Konzept sich für welche Lösung eignet. Sie können die Konzepte in Ihren Projekten anwenden
Ein übersichtliches Screendesign steigert die Usability Bilder und Farben transportieren Emotionen Markante Farben und Formen schaffen einen Wiedererkennungseffekt Das Nutzungserlebnis wird gesteigert
Jedes Silverlight Control besitzt eine Liste von Eigenschaften Height, Width, Background, Foreground, FontFamily, FontSize,Content, Margin, Padding,… Die Eigenschaften können direkt am Control überschrieben werden
Ohne Styling Mit Styling
Ergebnis ist direkt sichtbar Einfaches Konzept Keine Beeinflussung von anderen Elementen Geeignet für Eigenschaften, die nur für ein Control gelten
Die XAML Datei wird gross und unübersichtlich Durch die hohe Redundanz wird das Design schlecht wartbar
Definition Anwendung
Trennen die grafische Präsentation vom Inhalt Fassen gleiche Eigenschaften zusammen Können auf mehrere Controls angewendet werden Das Design ist besser wartbar
Das Aussehen eines Controls kann nicht beliebig verändert werden (z.Bsp. Form) Fehlersuche in komplexen Styles kann aufwändig sein
Definition Anwendung
Sind Objekte, die von mehreren Controls verwendet werden können Ressourcen können an jedes Control angehängt werden Ressourcen werden hierarchisch vererbt Eine Ressource wird durch einen eindeutigen Schlüssel identifiziert
Logik und Präsentation sind getrennt Die Logik definiert die Eigenschaften und das Verhalten Die Präsentation wird durch ein Template definiert Templates bestehen wiederum aus primitiven Controls Jedes Controls hat ein Default Template Das Template kann ersetzt werden
Background Content BorderBrush IsEnabled BorderThikness IsFocussed Button Binding
Stellt den Inhalt der Content Eigenschaft innerhalb eines ControlTemplates dar
Definition Anwendung
Disabled Normal MouseOver Pressed Unfocused Focused Common States Focus States Pro Gruppe ist nur ein Zustand aktiv Aktive Zustände werden überlagert
Die möglichen Zustände werden durch das Control vorgegeben Das ControlTemplate definiert das Aussehen der verschiedenen Zustände Der VisualStateManager steuert die Zustände und Übergänge
Definieren das Aussehen eines Items in einer Liste Der DataContext ist auf das dazugehörige Datenobjekt der Liste gesetzt
ItemTemplate
ItemsPanelTemplate
Inline Styling ist einfach, das Design ist jedoch schlecht wartbar Styles fassen Eingenschaften zusammen und können auf mehrere Controls angewendet werden. ControlTemplates ersetzen das Aussehen eines Controls DataTemplates ersetzen das Aussehen eines Items in einer Liste