silverlight styling mit expression blend

34
Silverlight Styling mit Expression Blend Christian Moser Software Developer and UX Designer Zühlke Engineering AG http://www.wpftutorial.net

Upload: mliss

Post on 24-Feb-2016

57 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Silverlight Styling mit Expression Blend

Silverlight Stylingmit Expression BlendChristian MoserSoftware Developer and UX DesignerZühlke Engineering AG

http://www.wpftutorial.net

Page 2: Silverlight Styling mit Expression Blend

Ziel meiner SessionSie kennen die wichtigsten Styling-Konzepte von SilverlightSie wissen, welches Konzept sich für welche Lösung eignet.Sie können die Konzepte in Ihren Projekten anwenden

Page 3: Silverlight Styling mit Expression Blend

Projekt Pizza Shop

Page 4: Silverlight Styling mit Expression Blend

Projekt Pizza Shop - Gestylt

Page 5: Silverlight Styling mit Expression Blend

Motivation zum StylingEin übersichtliches Screendesign steigert die UsabilityBilder und Farben transportieren EmotionenMarkante Farben und Formen schaffen einen WiedererkennungseffektDas Nutzungserlebnis wird gesteigert

Page 6: Silverlight Styling mit Expression Blend

Inline Styling

Page 7: Silverlight Styling mit Expression Blend

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

Page 8: Silverlight Styling mit Expression Blend

Inline-StylingOhne Styling

Mit Styling

Page 9: Silverlight Styling mit Expression Blend

Vorteile von Inline-Styles

Ergebnis ist direkt sichtbarEinfaches KonzeptKeine Beeinflussung von anderen ElementenGeeignet für Eigenschaften, die nur für ein Control gelten

Page 10: Silverlight Styling mit Expression Blend

Nachteile des Inline-Stylings

Die XAML Datei wird gross und unübersichtlichDurch die hohe Redundanz wird das Design schlecht wartbar

Page 11: Silverlight Styling mit Expression Blend

Analogie: Inline-Styles in HTML

Page 12: Silverlight Styling mit Expression Blend

CSS Styles in HTMLDefinition

Anwendung

Page 13: Silverlight Styling mit Expression Blend

Styles

Page 14: Silverlight Styling mit Expression Blend

StylesTrennen die grafische Präsentation vom Inhalt Fassen gleiche Eigenschaften zusammenKönnen auf mehrere Controls angewendet werdenDas Design ist besser wartbar

Page 15: Silverlight Styling mit Expression Blend

Grenzen von StylesDas Aussehen eines Controls kann nicht beliebig verändert werden (z.Bsp. Form)Fehlersuche in komplexen Styles kann aufwändig sein

Page 16: Silverlight Styling mit Expression Blend

Beispiel eines StylesDefinition

Anwendung

Page 17: Silverlight Styling mit Expression Blend

Ressourcen

Page 18: Silverlight Styling mit Expression Blend

RessourcenSind Objekte, die von mehreren Controls verwendet werden könnenRessourcen können an jedes Control angehängt werdenRessourcen werden hierarchisch vererbtEine Ressource wird durch einen eindeutigen Schlüssel identifiziert

Page 19: Silverlight Styling mit Expression Blend

Beispiele von Ressourcen

Page 20: Silverlight Styling mit Expression Blend

Control Templates

Page 21: Silverlight Styling mit Expression Blend

Aufbau von Silverlight ControlsLogik und Präsentation sind getrenntDie Logik definiert die Eigenschaften und das VerhaltenDie Präsentation wird durch ein Template definiertTemplates bestehen wiederum aus primitiven ControlsJedes Controls hat ein Default TemplateDas Template kann ersetzt werden

Page 22: Silverlight Styling mit Expression Blend

Background Content

BorderBrush IsEnabled

BorderThikness

IsFocussedButton

Innenleben eines Templates

In den Warenkorb

Binding Binding Binding Binding Binding Binding

Page 23: Silverlight Styling mit Expression Blend

Content PresenterStellt den Inhalt der Content Eigenschaft innerhalb eines ControlTemplates dar

ContentPresenter

Page 24: Silverlight Styling mit Expression Blend

ControlTemplate für einen ButtonDefinition

Anwendung

Page 25: Silverlight Styling mit Expression Blend

Zustände von Controls

Disabled Normal MouseOver Pressed

Unfocused

Focused

Common States

FocusStates

Pro Gruppe ist nur ein Zustand aktivAktive Zustände werden überlagert

Page 26: Silverlight Styling mit Expression Blend

Zustände von ControlsDie möglichen Zustände werden durch das Control vorgegebenDas ControlTemplate definiert das Aussehen der verschiedenen ZuständeDer VisualStateManager steuert die Zustände und Übergänge

Page 27: Silverlight Styling mit Expression Blend

DataTemplates

Page 28: Silverlight Styling mit Expression Blend

Data TemplatesDefinieren das Aussehen eines Items in einer ListeDer DataContext ist auf das dazugehörige Datenobjekt der Liste gesetzt

Page 29: Silverlight Styling mit Expression Blend

Default Data Template

ItemTemplate

Page 30: Silverlight Styling mit Expression Blend

Benutzerdefiniertes Template

ItemTemplate

Page 31: Silverlight Styling mit Expression Blend

Anordnung der Items ändern

ItemsPanelTemplate

Page 32: Silverlight Styling mit Expression Blend

Third-Party Libraries

http://www.telerik.com/silverlight http://www.infragistics.com

http://www.componentone.com

Page 33: Silverlight Styling mit Expression Blend

ZusammenfassungInline Styling ist einfach, das Design ist jedoch schlecht wartbarStyles fassen Eingenschaften zusammen und können auf mehrere Controls angewendet werden.ControlTemplates ersetzen das Aussehen eines ControlsDataTemplates ersetzen das Aussehen eines Items in einer Liste

Page 34: Silverlight Styling mit Expression Blend