Sunteți pe pagina 1din 33

Whats New in Silverlight 5

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Whats New In Silverlight 5


Data Binding Improvements Text Controls Media Trusted Applications

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Data binding improvements


Data binding debugging Ancestor RelativeSource binding Implicit data templates UpdateSourceTrigger=PropertyChanged Binding in style setters Custom markup extensions

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Data binding improvements


These updates are very welcome changes for developers using MVVM in their applications

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Model-View-ViewModel (MVVM)
Its a separation pattern, like MVC or MVP Improves structure / separation of concerns Enables better designer / developer workflow Enhances testability Made possible by the robust data binding capabilities of Silverlight and WPF

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

MVVM Structure
View
XAML Data bindings

View Model
Model of the View (or View of the Model)

Properties and commands

Model
Domain model / business logic
Services, persistence, everything else

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Connecting the pieces of MVVM


View -> ViewModel
ViewModel exposes properties and commands that

the view binds to ViewModel implements INotifyPropertyChanged to relay change notifications to View The Views DataContext is bound to the ViewModel, making all of its properties and commands available to the entire View

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Connecting the pieces of MVVM


ViewModel -> View
ViewModel contains domain objects from the

Model and exposes relevant portions of it to the View ViewModel calls services to fetch or save data to the Model

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Key elements of MVVM


INotifyPropertyChanged
PropertyChanged event

ICommand
Execute CanExecute CanExecuteChanged event

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

MVVM Basics

DEMO

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Data binding debugging


Allows breakpoints on data binding statements Exposes information on the data binding source, errors, etc Makes troubleshooting data binding issues really easy!

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Data binding debugging

DEMO

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Ancestor RelativeSource binding


New binding mode brought over from WPF Allows a child element to bind to properties on its parent Very useful within item templates in an items control

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Ancestor RelativeSource binding

DEMO

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Implicit data templates


Another binding feature from WPF Defines a template to be used whenever Silverlight tries to display a particular type In Silverlight 4, we had to explicitly specify a template for our custom types Very useful when binding to a list of different subclasses not limited to a single item template now!
Learn More @ http://www.learnnowonline.com
Copyright by Application Developers Training Company

Implicit data templates

DEMO

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

New UpdateSourceTrigger
Adds PropertyChanged option to available UpdateSourceTriggers also from WPF When used, the source of the binding (on our ViewModel) is updated whenever the property on the View is changed

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

PropertyChanged UpdateSourceTrigger

DEMO

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Custom markup extensions


Markup extensions are the parts of XAML that are surrounded by {curly braces}
Binding, StaticResource, DynamicResource, etc

They provide a value one that is often not known until runtime Silverlight 5 now allows us to create our own markup extensions

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Custom markup extensions

DEMO

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Binding in Style Setters


Styles are useful and widely used to define a consistent look and feel to our applications Until now, binding in the setters within styles were now allowed Silverlight 5 allows us to create binding statements within stlyes

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Binding in style setters

DEMO

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Whats New In Silverlight 5


Data Binding Improvements Text Controls Media Trusted Applications

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Text improvements
Character spacing and line height TextOptions pixel snapping OpenType support Linked text blocks for multi-column and flowing text

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Character spacing and line height


CharacterSpacing and LineHeight properties
TextBox, TextBlock, RichTextBox, RichTextBlock

CharacterSpacing calculated based formula:

Spacing (in pixels) = (font size * Value) / 1000

LineHeight is the spacing between lines, in pixels

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Linked text
RichTextBlocks can now specify a RichTextBlockOverflow element that text will flow to when full RichTextBlockOverflow elements can specify additional overflow containers Limited only to read-only RichTextBlocks

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Linked text, character spacing and line height

DEMO

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

TextOptions
TextFormattingMode
Ideal, Display (pixel snapping)

TextHintingMode
Fixed, Animated

TextRenderingMode
Auto, Aliased, Greyscale, ClearType

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

OpenType Support
Ligatures glyphs with more than one letter Contextual Alternates Stylistic Sets Variants superscript and subscript Fractions Much more in the Typography class!

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

TextOptions and OpenType

DEMO

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Whats New In Silverlight 5


Data Binding Improvements Text Controls Media Trusted Applications

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Whats New in Silverlight 5

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Learn More!
This is an excerpt from a larger course. Visit www.learnnowonline.com for the full details!

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

S-ar putea să vă placă și