340 likes | 472 Vues
Silverlight Styling mit Expression Blend. Christian Moser Software Developer and UX Designer Zühlke Engineering AG http://www.wpftutorial.net. Ziel meiner Session. Sie kennen die wichtigsten Styling-Konzepte von Silverlight Sie wissen , welches Konzept sich für welche Lösung eignet.
E N D
Silverlight Stylingmit Expression Blend Christian Moser Software Developer and UX Designer Zühlke Engineering AG http://www.wpftutorial.net
Ziel meiner Session • 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
Motivation zum Styling • Ein übersichtliches Screendesign steigert die Usability • Bilder und Farben transportieren Emotionen • Markante Farben und Formen schaffen einen Wiedererkennungseffekt • Das Nutzungserlebnis wird gesteigert
Inline-Styling • 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
Inline-Styling Ohne Styling Mit Styling
Vorteile von Inline-Styles • Ergebnis ist direkt sichtbar • Einfaches Konzept • Keine Beeinflussung von anderen Elementen • Geeignet für Eigenschaften, die nur für ein Control gelten
Nachteile des Inline-Stylings • Die XAML Datei wird gross und unübersichtlich • Durch die hohe Redundanz wird das Design schlecht wartbar
CSS Styles in HTML Definition Anwendung
Styles • Trennen die grafischePräsentationvomInhalt • FassengleicheEigenschaftenzusammen • Können auf mehrere Controls angewendetwerden • Das Design istbesserwartbar
Grenzen von Styles • Das Ausseheneines Controls kannnichtbeliebigverändertwerden (z.Bsp. Form) • Fehlersuche in komplexen Styles kannaufwändigsein
Beispiel eines Styles Definition Anwendung
Ressourcen • Sind Objekte, die von mehreren Controls verwendetwerdenkönnen • Ressourcenkönnen an jedes Control angehängtwerden • Ressourcenwerdenhierarchischvererbt • EineRessourcewirddurcheineneindeutigenSchlüsselidentifiziert
Aufbau von Silverlight Controls • Logik und Präsentationsindgetrennt • Die Logikdefiniert die Eigenschaften und das Verhalten • Die Präsentationwirddurchein Template definiert • Templates bestehenwiederumausprimitiven Controls • Jedes Controls hat ein Default Template • Das Template kannersetztwerden
Innenleben eines Templates In den Warenkorb Binding Binding Binding Binding Binding Binding Background BorderThikness Content BorderBrush IsFocussed IsEnabled Button
Content Presenter • Stellt den InhaltderContentEigenschaftinnerhalbeinesControlTemplatesdar Content Presenter
ControlTemplatefüreinen Button Definition Anwendung
Zustände von Controls • Pro GruppeistnureinZustandaktiv • AktiveZuständewerdenüberlagert Common States Disabled Normal MouseOverPressed Unfocused Focus States Focused
Zustände von Controls • Die möglichenZuständewerdendurch das Control vorgegeben • Das ControlTemplatedefiniert das AussehenderverschiedenenZustände • DerVisualStateManagersteuert die Zustände und Übergänge
Data Templates • Definieren das Ausseheneines Items in einerListe • DerDataContextist auf das dazugehörigeDatenobjektderListegesetzt
Default Data Template ItemTemplate
Benutzerdefiniertes Template ItemTemplate
Anordnung der Items ändern ItemsPanelTemplate
Third-Party Libraries http://www.telerik.com/silverlight http://www.infragistics.com http://www.componentone.com
Zusammenfassung • Inline Stylingisteinfach, das Design istjedochschlechtwartbar • Styles fassenEingenschaftenzusammen und können auf mehrere Controls angewendetwerden. • ControlTemplatesersetzen das Ausseheneines Controls • DataTemplatesersetzen das Ausseheneines Items in einerListe