SlideShare una empresa de Scribd logo
1 de 14
MVVM + BEHAVIORS
Better Silverlight Programing
MVVM Pattern
ICommand
PropertyChanged
What is Behavior
 A Behavior is in essence a reusable piece of
interactivity that can be applied directly to
user interface elements
 With Behavior, we can do interaction with out
code
 Behavior is reusable library, and can be
shared
Behaviors in Silverlight
Behavior DEMO
Behavior DEMO
GDEIC.AppFx.ViewModel
 ViewModelBase
 Implements INorifyPropertyChanged
 IsBusy Property
 CanInvokeCommand Property
 ShowError virtual method can be overrided
 CommandBase
 Basic implementation of ICommand
 ViewModelCommand
 Use withViewModel base
GDEIC.AppFx.ViewModel
 BufferedEventTrigger
 Buffer interaction event
 Filter PropertyChanged with propertyName
 Invoke ActionWith Dispatcher
Real Application Demo
Real Application Demo
Controller Interface is a contract between Server and Client
Real Application Demo
Client sideViewModel with Command
Real Application Demo
Command Implementation Details
Real Application Demo
Final XamlView, no code needed
MVVM + Behaviors Conclusion
 View is completedly separate with Code
 For Designers, Behavior is easy to use
 Behavior is optimize for Blend, with blend,
behaviors can be added to elements with
drag and drop

Más contenido relacionado

La actualidad más candente

apidays LIVE Australia 2021 - From apps to APIs: how no-code is transforming ...
apidays LIVE Australia 2021 - From apps to APIs: how no-code is transforming ...apidays LIVE Australia 2021 - From apps to APIs: how no-code is transforming ...
apidays LIVE Australia 2021 - From apps to APIs: how no-code is transforming ...apidays
 
Architecting eCommerce APIs - Gluecon 13
Architecting eCommerce APIs - Gluecon 13Architecting eCommerce APIs - Gluecon 13
Architecting eCommerce APIs - Gluecon 13Saranyan Vigraham
 
API:World 2016 - Applying Domain Driven Design to APIs and Microservices
API:World 2016 - Applying Domain Driven Design to APIs and MicroservicesAPI:World 2016 - Applying Domain Driven Design to APIs and Microservices
API:World 2016 - Applying Domain Driven Design to APIs and MicroservicesLaunchAny
 
Designing APIs and Microservices Using Domain-Driven Design
Designing APIs and Microservices Using Domain-Driven DesignDesigning APIs and Microservices Using Domain-Driven Design
Designing APIs and Microservices Using Domain-Driven DesignLaunchAny
 
Hybird mobile application development
Hybird mobile application developmentHybird mobile application development
Hybird mobile application developmentbeyondweb
 
Thinking Serverless (AWS re:Invent 2019 chalk talk SVS213). Solutions slides.
Thinking Serverless (AWS re:Invent 2019 chalk talk SVS213). Solutions slides.Thinking Serverless (AWS re:Invent 2019 chalk talk SVS213). Solutions slides.
Thinking Serverless (AWS re:Invent 2019 chalk talk SVS213). Solutions slides.James Beswick
 
Api clarity webinar
Api clarity webinarApi clarity webinar
Api clarity webinarLibbySchulze
 

La actualidad más candente (13)

apidays LIVE Australia 2021 - From apps to APIs: how no-code is transforming ...
apidays LIVE Australia 2021 - From apps to APIs: how no-code is transforming ...apidays LIVE Australia 2021 - From apps to APIs: how no-code is transforming ...
apidays LIVE Australia 2021 - From apps to APIs: how no-code is transforming ...
 
Architecting eCommerce APIs - Gluecon 13
Architecting eCommerce APIs - Gluecon 13Architecting eCommerce APIs - Gluecon 13
Architecting eCommerce APIs - Gluecon 13
 
Ng talk
Ng talkNg talk
Ng talk
 
Web services in java
Web services in javaWeb services in java
Web services in java
 
Fabcode => LambdaZen
Fabcode => LambdaZenFabcode => LambdaZen
Fabcode => LambdaZen
 
API:World 2016 - Applying Domain Driven Design to APIs and Microservices
API:World 2016 - Applying Domain Driven Design to APIs and MicroservicesAPI:World 2016 - Applying Domain Driven Design to APIs and Microservices
API:World 2016 - Applying Domain Driven Design to APIs and Microservices
 
Ionic
IonicIonic
Ionic
 
E031202024029
E031202024029E031202024029
E031202024029
 
Designing APIs and Microservices Using Domain-Driven Design
Designing APIs and Microservices Using Domain-Driven DesignDesigning APIs and Microservices Using Domain-Driven Design
Designing APIs and Microservices Using Domain-Driven Design
 
Hybird mobile application development
Hybird mobile application developmentHybird mobile application development
Hybird mobile application development
 
Thinking Serverless (AWS re:Invent 2019 chalk talk SVS213). Solutions slides.
Thinking Serverless (AWS re:Invent 2019 chalk talk SVS213). Solutions slides.Thinking Serverless (AWS re:Invent 2019 chalk talk SVS213). Solutions slides.
Thinking Serverless (AWS re:Invent 2019 chalk talk SVS213). Solutions slides.
 
Api clarity webinar
Api clarity webinarApi clarity webinar
Api clarity webinar
 
Angular js
Angular jsAngular js
Angular js
 

Destacado

Silverlight 开发简介
Silverlight 开发简介Silverlight 开发简介
Silverlight 开发简介beginor
 
Bring a copy of your resume for your future placements
Bring a copy of your resume for your future placementsBring a copy of your resume for your future placements
Bring a copy of your resume for your future placementsFuture-tec technologies
 
Critical analytical thinking at stanford's gsb 2011
Critical analytical thinking at stanford's gsb 2011Critical analytical thinking at stanford's gsb 2011
Critical analytical thinking at stanford's gsb 2011DIrector del INNOVAE
 
The Business Capital By Aadhar Group at Knowledge Park 5 in Noida Extension
The Business Capital By Aadhar Group at Knowledge Park 5 in Noida ExtensionThe Business Capital By Aadhar Group at Knowledge Park 5 in Noida Extension
The Business Capital By Aadhar Group at Knowledge Park 5 in Noida ExtensionOjaswi Associate
 
Metodologías participativas (1). [downloaded with 1st browser]
Metodologías participativas (1). [downloaded with 1st browser]Metodologías participativas (1). [downloaded with 1st browser]
Metodologías participativas (1). [downloaded with 1st browser]DIrector del INNOVAE
 
Cross platform development - by Uxebu
Cross platform development - by UxebuCross platform development - by Uxebu
Cross platform development - by UxebuVodafone developer
 
Raj Residency Project at Noida Extension by Addela Group
Raj Residency Project at Noida Extension by Addela GroupRaj Residency Project at Noida Extension by Addela Group
Raj Residency Project at Noida Extension by Addela GroupOjaswi Associate
 

Destacado (8)

Silverlight 开发简介
Silverlight 开发简介Silverlight 开发简介
Silverlight 开发简介
 
Vodafone360 shop
Vodafone360 shopVodafone360 shop
Vodafone360 shop
 
Bring a copy of your resume for your future placements
Bring a copy of your resume for your future placementsBring a copy of your resume for your future placements
Bring a copy of your resume for your future placements
 
Critical analytical thinking at stanford's gsb 2011
Critical analytical thinking at stanford's gsb 2011Critical analytical thinking at stanford's gsb 2011
Critical analytical thinking at stanford's gsb 2011
 
The Business Capital By Aadhar Group at Knowledge Park 5 in Noida Extension
The Business Capital By Aadhar Group at Knowledge Park 5 in Noida ExtensionThe Business Capital By Aadhar Group at Knowledge Park 5 in Noida Extension
The Business Capital By Aadhar Group at Knowledge Park 5 in Noida Extension
 
Metodologías participativas (1). [downloaded with 1st browser]
Metodologías participativas (1). [downloaded with 1st browser]Metodologías participativas (1). [downloaded with 1st browser]
Metodologías participativas (1). [downloaded with 1st browser]
 
Cross platform development - by Uxebu
Cross platform development - by UxebuCross platform development - by Uxebu
Cross platform development - by Uxebu
 
Raj Residency Project at Noida Extension by Addela Group
Raj Residency Project at Noida Extension by Addela GroupRaj Residency Project at Noida Extension by Addela Group
Raj Residency Project at Noida Extension by Addela Group
 

Similar a Mvvm + behaviors

OpenDolphin with GroovyFX Workshop at GreachConf, Madrid
OpenDolphin with GroovyFX Workshop at GreachConf, MadridOpenDolphin with GroovyFX Workshop at GreachConf, Madrid
OpenDolphin with GroovyFX Workshop at GreachConf, MadridDierk König
 
MVVM ( Model View ViewModel )
MVVM ( Model View ViewModel )MVVM ( Model View ViewModel )
MVVM ( Model View ViewModel )Ahmed Emad
 
From User Action to Framework Reaction
From User Action to Framework ReactionFrom User Action to Framework Reaction
From User Action to Framework Reactionjbandi
 
Walk in the shoe of angular
Walk in the shoe of angularWalk in the shoe of angular
Walk in the shoe of angularFiyaz Hasan
 
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOSSoftware architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOSJinkyu Kim
 
Slides of webinar Kendo UI and Knockout.js
Slides of webinar Kendo UI and Knockout.jsSlides of webinar Kendo UI and Knockout.js
Slides of webinar Kendo UI and Knockout.jsDhananjay Kumar
 
MVVM Design Pattern NDC2009
MVVM Design Pattern NDC2009MVVM Design Pattern NDC2009
MVVM Design Pattern NDC2009Jonas Follesø
 
Angularjs overview
Angularjs  overviewAngularjs  overview
Angularjs overviewVickyCmd
 
Modern ASP.NET Webskills
Modern ASP.NET WebskillsModern ASP.NET Webskills
Modern ASP.NET WebskillsCaleb Jenkins
 
MVVM presentation
MVVM presentationMVVM presentation
MVVM presentationInova LLC
 
Architectural Design Pattern: Android
Architectural Design Pattern: AndroidArchitectural Design Pattern: Android
Architectural Design Pattern: AndroidJitendra Kumar
 
Intoduction to Angularjs
Intoduction to AngularjsIntoduction to Angularjs
Intoduction to AngularjsGaurav Agrawal
 
Portable Class Libraries and MVVM
Portable Class Libraries and MVVMPortable Class Libraries and MVVM
Portable Class Libraries and MVVMAndreas Kuntner
 
Android App Architecture
Android App ArchitectureAndroid App Architecture
Android App ArchitectureTai Dang
 
Introduction To MVVM
Introduction To MVVMIntroduction To MVVM
Introduction To MVVMBoulos Dib
 
AngularJS: Overview & Key Features
AngularJS: Overview & Key FeaturesAngularJS: Overview & Key Features
AngularJS: Overview & Key FeaturesMohamad Al Asmar
 
MVVM+MEF in Silvelight - W 2010ebday
MVVM+MEF in Silvelight - W 2010ebdayMVVM+MEF in Silvelight - W 2010ebday
MVVM+MEF in Silvelight - W 2010ebdayRicardo Fiel
 

Similar a Mvvm + behaviors (20)

OpenDolphin with GroovyFX Workshop at GreachConf, Madrid
OpenDolphin with GroovyFX Workshop at GreachConf, MadridOpenDolphin with GroovyFX Workshop at GreachConf, Madrid
OpenDolphin with GroovyFX Workshop at GreachConf, Madrid
 
MVVM ( Model View ViewModel )
MVVM ( Model View ViewModel )MVVM ( Model View ViewModel )
MVVM ( Model View ViewModel )
 
From User Action to Framework Reaction
From User Action to Framework ReactionFrom User Action to Framework Reaction
From User Action to Framework Reaction
 
Walk in the shoe of angular
Walk in the shoe of angularWalk in the shoe of angular
Walk in the shoe of angular
 
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOSSoftware architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
 
Monorail Introduction
Monorail IntroductionMonorail Introduction
Monorail Introduction
 
Mobile architectures
Mobile architecturesMobile architectures
Mobile architectures
 
Slides of webinar Kendo UI and Knockout.js
Slides of webinar Kendo UI and Knockout.jsSlides of webinar Kendo UI and Knockout.js
Slides of webinar Kendo UI and Knockout.js
 
MVVM Design Pattern NDC2009
MVVM Design Pattern NDC2009MVVM Design Pattern NDC2009
MVVM Design Pattern NDC2009
 
Angularjs overview
Angularjs  overviewAngularjs  overview
Angularjs overview
 
Modern ASP.NET Webskills
Modern ASP.NET WebskillsModern ASP.NET Webskills
Modern ASP.NET Webskills
 
MVVM presentation
MVVM presentationMVVM presentation
MVVM presentation
 
Mvc ppt
Mvc pptMvc ppt
Mvc ppt
 
Architectural Design Pattern: Android
Architectural Design Pattern: AndroidArchitectural Design Pattern: Android
Architectural Design Pattern: Android
 
Intoduction to Angularjs
Intoduction to AngularjsIntoduction to Angularjs
Intoduction to Angularjs
 
Portable Class Libraries and MVVM
Portable Class Libraries and MVVMPortable Class Libraries and MVVM
Portable Class Libraries and MVVM
 
Android App Architecture
Android App ArchitectureAndroid App Architecture
Android App Architecture
 
Introduction To MVVM
Introduction To MVVMIntroduction To MVVM
Introduction To MVVM
 
AngularJS: Overview & Key Features
AngularJS: Overview & Key FeaturesAngularJS: Overview & Key Features
AngularJS: Overview & Key Features
 
MVVM+MEF in Silvelight - W 2010ebday
MVVM+MEF in Silvelight - W 2010ebdayMVVM+MEF in Silvelight - W 2010ebday
MVVM+MEF in Silvelight - W 2010ebday
 

Mvvm + behaviors