1 / 20

Sirar Salih og Aslak Eide

Sirar Salih og Aslak Eide. Hvordan strukturere en WPF applikasjon ved hjelp av Model-View-ViewModel (MVVM ). Innhold. Litt om oss og hva vi jobber med Model-View- ViewModel patternet DataBinding og Commands MVVM Light Toolkit rammeverket EventToCommand , RelayCommand , Messaging

imaran
Download Presentation

Sirar Salih og Aslak Eide

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sirar Salih og Aslak Eide Hvordan strukturere en WPF applikasjon ved hjelp av Model-View-ViewModel(MVVM)

  2. Innhold • Littomoss og hva vi jobber med • Model-View-ViewModelpatternet • DataBinding og Commands • MVVM Light Toolkit rammeverket • EventToCommand, RelayCommand, Messaging • Demo

  3. SINTEF

  4. BRIDGE prosjektet • BRIDGE - Bridging resources and agencies in large-scale emergency management • Nye løsningerfor samhandling under ulykker • 14 partnerefra 7 land. Tidsrammepå 4 år • FinansiertavEU 7th Framework Programme

  5. Hva vi jobber med for tiden • Utvikler et kartbasertsystem somunderstøtterfellessituasjonsforståelsepåtversavnødetateneved å gi en oppdatertoversikt over hendelsen.

  6. Windows Presentation Foundation (WPF) • UI rammeverk for å utvikle "rich, interactive client applications" • ExtensibleApplication Markup Language (XAML)

  7. Model-View-ViewModel (MVVM) • Utbredt pattern for å understøtte: • Maintainability • Testability • Blendability • Basertpå Model-View-Controller(MVC)

  8. View User interface ViewModel The model of the view Model Domain model

  9. DataBinding • For å etablereforbindelsemellom UI og business logic. • Gjørdetmulig for Viewet å bindetilproperties iViewModel. • Kontekst for binding settesiDataContext • Forbindelsenkangåbeggeveier.

  10. Commands • Gjørdetmulig å kalle en metodeiViewModelfraViewet • Eksponerer en metodeiViewModeli form av en property • Kanvære "DataBound" fordi den er en property • ImplementasjonavICommandinterfacet

  11. View Commands DataBinding ViewModel Model

  12. MVVM rammeverk Cocktail Caliburn Xomega Carbon MVVM MVVM Cross Onyx MVVM Light MVVM foundation Jounce Cinch Core MVVM Ocean Goldlight Prism Reactive UI Catel

  13. MVVM Light Toolkit • Breaking the monotony • Small and simple • Essentials library • Extras library • Project templates • Code snippets

  14. EventToCommand • Interaction triggers gjørdetmulig å definere en trigger for hvilkensomhelst event og bindedennetil en Command • EventToCommanderekstrafunksjonalitetfra MVVM Light Toolkit somlardegsende med EventArgstilViewModel:

  15. RelayCommand • Alternativtil Command ogRoutedCommand • Implementer ICommandinterfacet • RelayCommandrelayer Execute til en egendefinertmetode • Man slipper å lage en egenklasse for hver custom Command

  16. Messaging View View View Messages Messages ViewModel ViewModel ViewModel

  17. Messaging

  18. ViewModelBase • Utility klassesomalleViewModelsarverfra. • Minskermengdenkode man måskriveomigjen. • RaisePropertyChangedmetode+++

  19. DispatcherHelper • Nyttignår man jobber på multi-threaded WPF applikasjoner. • Gjørdetmulig å kalle en metodepå UI trådenfra en annentråd.

  20. Demo

More Related