Silverlight 4.0 – vier gewinnt? - Thomas Claudius Huber · 2015. 1. 16. · WCF RIA Services...
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](https://reader035.fdocument.pub/reader035/viewer/2022063015/5fd3a0496c69c235883c650d/html5/thumbnails/1.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022063015/5fd3a0496c69c235883c650d/html5/thumbnails/2.jpg)
Ü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](https://reader035.fdocument.pub/reader035/viewer/2022063015/5fd3a0496c69c235883c650d/html5/thumbnails/3.jpg)
• 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](https://reader035.fdocument.pub/reader035/viewer/2022063015/5fd3a0496c69c235883c650d/html5/thumbnails/4.jpg)
• 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](https://reader035.fdocument.pub/reader035/viewer/2022063015/5fd3a0496c69c235883c650d/html5/thumbnails/5.jpg)
• 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](https://reader035.fdocument.pub/reader035/viewer/2022063015/5fd3a0496c69c235883c650d/html5/thumbnails/6.jpg)
• 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](https://reader035.fdocument.pub/reader035/viewer/2022063015/5fd3a0496c69c235883c650d/html5/thumbnails/7.jpg)
• 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](https://reader035.fdocument.pub/reader035/viewer/2022063015/5fd3a0496c69c235883c650d/html5/thumbnails/8.jpg)
• 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](https://reader035.fdocument.pub/reader035/viewer/2022063015/5fd3a0496c69c235883c650d/html5/thumbnails/9.jpg)
• 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](https://reader035.fdocument.pub/reader035/viewer/2022063015/5fd3a0496c69c235883c650d/html5/thumbnails/10.jpg)
• 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](https://reader035.fdocument.pub/reader035/viewer/2022063015/5fd3a0496c69c235883c650d/html5/thumbnails/11.jpg)
• 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](https://reader035.fdocument.pub/reader035/viewer/2022063015/5fd3a0496c69c235883c650d/html5/thumbnails/12.jpg)
• 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](https://reader035.fdocument.pub/reader035/viewer/2022063015/5fd3a0496c69c235883c650d/html5/thumbnails/13.jpg)
• 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](https://reader035.fdocument.pub/reader035/viewer/2022063015/5fd3a0496c69c235883c650d/html5/thumbnails/14.jpg)
• 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](https://reader035.fdocument.pub/reader035/viewer/2022063015/5fd3a0496c69c235883c650d/html5/thumbnails/15.jpg)
• 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](https://reader035.fdocument.pub/reader035/viewer/2022063015/5fd3a0496c69c235883c650d/html5/thumbnails/16.jpg)
• 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](https://reader035.fdocument.pub/reader035/viewer/2022063015/5fd3a0496c69c235883c650d/html5/thumbnails/17.jpg)
• 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](https://reader035.fdocument.pub/reader035/viewer/2022063015/5fd3a0496c69c235883c650d/html5/thumbnails/18.jpg)
• 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](https://reader035.fdocument.pub/reader035/viewer/2022063015/5fd3a0496c69c235883c650d/html5/thumbnails/19.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022063015/5fd3a0496c69c235883c650d/html5/thumbnails/20.jpg)
• 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](https://reader035.fdocument.pub/reader035/viewer/2022063015/5fd3a0496c69c235883c650d/html5/thumbnails/21.jpg)
• 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](https://reader035.fdocument.pub/reader035/viewer/2022063015/5fd3a0496c69c235883c650d/html5/thumbnails/22.jpg)
• 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](https://reader035.fdocument.pub/reader035/viewer/2022063015/5fd3a0496c69c235883c650d/html5/thumbnails/23.jpg)
• 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](https://reader035.fdocument.pub/reader035/viewer/2022063015/5fd3a0496c69c235883c650d/html5/thumbnails/24.jpg)
Besten Dank für Ihre Aufmerksamkeit!
Any Questions?!
Silverlight 4.0 - vier gewinnt? ::: Thomas Claudius Huber