Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services...

24
Thomas Claudius Huber | Trivadis AG Silverlight 4.0 – vier gewinnt?

Transcript of Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services...

Page 1: Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber View ViewModel Client Model

Thomas Claudius Huber | Trivadis AG

Silverlight 4.0 –

vier gewinnt?

Page 2: Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber View ViewModel Client Model

Über Thomas Claudius Huber

• .NET Senior Consultant

– Trivadis AG Basel

– Fokus: .NET, WPF, Silverlight,SqlServer, Oracle

• Autor der „umfassendenHandbücher“ zur WPF und zu Silverlight

• www.thomasclaudiushuber.com

Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber

Page 3: Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber View ViewModel Client Model

• Neue Features in Silverlight 4

• WCF RIA Services 1.0

• Fazit

Agenda

Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber

Page 4: Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber View ViewModel Client Model

• XAML-Features (XmlnsDefinitionAttribute)

• RichText

• Implizite Styles

• Drag‘n‘Drop

• Maus-Events

• Clipboard

Neue Features in Silverlight 4

Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber

Page 5: Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber View ViewModel Client Model

• Validierung mit IDataErrorInfo andINotifyDataErrorInfo (asnyc)

• Neue Binding-Properties (StringFormat etc.)

• WebCam-/Microfon-Zugriff

• Lokales Drucken

• Vertrauenswürdige Out-Of-Browser-Applikationen

– COM-Interop

– Lokaler Dateizugriff

• Und vieles mehr (UDP, Offline DRM, CompositeTransform, Viewbox, …)

Neue Features in Silverlight 4

Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber

Page 6: Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber View ViewModel Client Model

• XmlnsDefinitionAttribute, um einen XML-Namespace mehreren CLR-Namespaces zuzuordnen (1:n)

– Ohne dieses Attribut (Silverlight 3) ist nur eine 1:1-Zuordnung zwischen XML- und CLR-Namespace möglich. Schlecht beim verwenden von Bibliotheken mit vielen unterschiedlichen CLR-Namespaces.

• XmlnsPrefixAttribute, um den Default-Alias für den XML-Namespace zu definieren.

XAML Features

Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber

Page 7: Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber View ViewModel Client Model

• Neues RichTextBox-Control

• RichText bedeutet fett, unterstrichen oder farbig.

• RichText bedeutet nicht .rtf-Format

RichText

Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber

Page 8: Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber View ViewModel Client Model

• In Silverlight 3 mussten Styles explizit referenziert werden

• In Silverlight 4 funktioniert das Ganze auch implizit

Implizite Styles

Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber

<StackPanel.Resources>

<Style x:Key="txtStyle" TargetType="TextBox">

<Setter Property="Background" Value="Red"/>

</Style>

</StackPanel.Resources>

<TextBox Style="{StaticResource txtStyle}"/>

<StackPanel.Resources>

<Style TargetType="TextBox">

<Setter Property="Background" Value="Red"/>

</Style>

</StackPanel.Resources>

<TextBox/>

Page 9: Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber View ViewModel Client Model

• Unterstützt einen „FileDrop“ von außerhalb des Browsers

• Die Events DragEnter, DragLeave, DragOver und Drop

• DragEffects werden nicht unterstützt, um beispielsweise verschiedene Mauszeiger für das Verschieben und Kopieren anzuzeigen

Drag‘n‘Drop

Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber

Page 10: Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber View ViewModel Client Model

• Mausrad-Unterstützung

– MouseWheel-Event in der Klasse UIElement

– ScrollViewer und ein paar weitere Controls unterstützen das Mausrad standardmässig

• Rechtsklick-Unterstützung

– Einfaches Kontextmenü ist einfach gebaut

– Events MouseRightButtonDown und MouseRightButtonUp

Zusätzliche Maus-Events

Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber

Page 11: Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber View ViewModel Client Model

• Nur für einfache Unicode-Strings

• Verwenden Sie die statischen Methoden SetText und GetText der Clipboard-Klasse

– Methoden müssen in einem vom Benutzer ausgelösten Event aufgerufen werden

• Der Benutzer muss den Zugriff auf die Zwischenablage erlauben. Er wird dazu beim ersten Aufruf von SetText in einem Dialog gefragt.

Zwischenablage-Zugriff

Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber

Clipboard.SetText("This text goes into the clipboard");

Page 12: Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber View ViewModel Client Model

• IDataErrorInfo-Unterstützung

• INotifyDataErrorInfo-Unterstützung

Validierung in Silverlight 4

Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber

public interface INotifyDataErrorInfo

{

bool HasErrors { get; }

event EventHandler<DataErrorsChangedEventArgs> ErrorsChanged;

IEnumerable GetErrors(string propertyName);

}

public interface IDataErrorInfo

{

string Error { get; }

string this[string columnName] { get; }

}

Page 13: Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber View ViewModel Client Model

• StringFormat um einen gebunden Wert zu formattieren

• TargetNullValue um einen Wert festzulegen, wenn das Ziel eine Null-Referenz ist

• FallbackValue um einen Wert festzulegen, wenn das Binding ungültig ist (bspw. wurde an eine nicht vorhandene Property gebunden)

Neue Binding-Features

Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber

<sdk:DataGridTextColumn IsReadOnly="True"

Binding="{Binding Birthday,StringFormat=dd.MM.yyyy}"/>

Page 14: Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber View ViewModel Client Model

• Bilder mit der Webcam aufnehmen

• Sounddateien mit dem lokalen Mikrofon aufzeichnen

Webcam- / Microfon-Zugriff

Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber

Page 15: Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber View ViewModel Client Model

• Drucken eines beliebigen UIElements

• Bitmapbasiertes Drucken -> Sehr langsam bei mehreren Seiten. �

• PrintDocument-Klasse enthält die Drucklogik

– Eventhandler für PrintPage-Event installieren

– Print-Methode aufrufen

– Im PrintPage-Eventhandler PageVisual-Property der EventArgs setzen und für weitere Seiten HasMorePagesauf true setzen

Lokales Drucken

Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber

Page 16: Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber View ViewModel Client Model

• Out-of-Browser-Anwendungen mit höheren Rechten

– COM-Interop

– Lokaler Dateizugriff

Full-Trust Out-of-Browser

Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber

Page 17: Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber View ViewModel Client Model

• Neue Features in Silverlight 4

• WCF RIA Services 1.0

• Fazit

Agenda

Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber

Page 18: Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber View ViewModel Client Model

• Auf WCF aufbauende Services

• Bringen die Welten Silverlight und ASP.NET zusammen

• Einfaches Laden von Daten und Validieren

WCF RIA Services

Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber

Page 19: Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber View ViewModel Client Model

WCF RIA Services

Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber

View

ViewModel

Client

Model

Service-Layer(Web Services, WCF Data Services,

WCF RIA Services etc.)

Domain Model(bspw. EntityModel)

Service

Datenbank

Page 20: Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber View ViewModel Client Model

• Unterstützung für Authentifizierung

• Unterstützung für Authorisierung

• Benutzerprüfung server- und clientseitig

WCF RIA Services

Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber

Page 21: Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber View ViewModel Client Model

• Neue Features in Silverlight 4

• WCF RIA Services 1.0

• Fazit

Agenda

Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber

Page 22: Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber View ViewModel Client Model

• Silverlight 4 enthält viele neue Features, wie asynchrone Validierung, RichText, Implizite Styles, Drag‘n‘Drop u.v.m.

• WCF RIA Services sind sehr einfach anzuwenden und unterstützen neben dem Laden und Validieren auch Authentifikation und Autorisierung

• Hochinteressant für Intranet-Anwendungen

Fazit

Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber

Page 23: Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber View ViewModel Client Model

• Slides sind heute Nachmittag auf meinem Blog onlinewww.thomasclaudiushuber.com/blog

• Fragen, Kritik und Sonstiges direkt [email protected]

Slides

Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber

Page 24: Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber View ViewModel Client Model

Besten Dank für Ihre Aufmerksamkeit!

Any Questions?!

Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber