XAML Futures for Microsoft .NET, Microsoft Silverlight and Tools
What is Microsoft Silverlight - How to work on it
-
Upload
apex-tgi -
Category
Technology
-
view
133 -
download
2
Transcript of What is Microsoft Silverlight - How to work on it
In this presentation
What SL is capable of
How it is different
Learning curve overview
Why use SL
Non-traditional way
What is Silverlight?
Rich Internet Application (RIA) platform
Capabilities are similar to Flash Java FX
Web-based subset of WPF
Flash vs Silverlight
Flash Silverlight
Animation model Frame-based Time-based
Language ActionScript CLR-compilant (VB.NET, C#)
Platform All major Limited Linux (Moonlight)
Multithreading No (from programmer perspective)
Yes
Flash vs Silverlight
Flash Silverlight
Image support Most formats JPG and PNG
Video, audio Multiple formats, low-level APIs
VC-1 codec, WMW, WM, no low-level APIs
Streaming More cost-effective
Other More mature Deep Zoom
WPF / Silverlight features
Vector graphics & bitmap effects
Data binding & UI update
Animations
Rich content: videos, images, sounds
Styling, templates
Silverlight: lightweight WPF
CLR within Browser
Limited CLR: Not all libraries Local filesystem limited Networking limited
XAML
Separate UI and logic
XML markup, clean syntax
XAML and code behind files
Does not support generics
UI Basics
Layout Grid, Canvas, StackPanel
Controls Button, HyperLinkButton, ComboBox etc
Text, images TextBlock, Image, MediaElement
Brushes Solid, linear, radial, image, video
User Controls
Styling and templating
Defining styles: TargetType Setters that are valid on the target
Templates Customize controls Uses ControlTemplate class
Easy to define in XAML
Dependency Properties
Extend CLR properties Property changed notification Data Binding Animating Default value and ClearValue
Has to inherit DependencyObject
Attached Properties
Global property that can be set on any object element
Static Dps
Used by the owner, defined on the child
E.g. Canvas.Left, Grid.Column
MVVM
How to effectively build large applications in WPF
Lots of UI markup, lots of data binding
Variation of MVC
MVVM
Model BL, UI independent
View Visual elements + input processing
Data binding View and model can be bound directly Usually direct binding is not possible
MVVM
ViewModel “Model of a View” Abstraction of the view: contains state and
behaviour Data binder/converter:
Model information → View information View commands → Model
MVVM in Silverlight
Worth using on larger projects Frameworks
MEF Official
Prism Non-official, but MS
Summary
Similar to WPF XAML Styling & templating DPs Attached properties MVVM for larger applications
Effort learning SL
Network: moderate
Events: moderate
Other: moderate - significant Dependency Properties, Attached Properties MVVM Navigation Framework Out of Browser applications
Why It's Worth It
Things you couldn't do before!
Good looking controls & pages
Animation
Video & vector graphics