目次
MVVM Frameworks
この記事の内容
Cinch
Author: Sacha Barber
Silverlight support: no
Documentation: excellent, 6 articles published on CodeProject
Hosting : CodePlex
License: Code Project Open License
Features:
attached behaviors
validation suing IDataErrorInfo
support for IEditableObject
weak events creation and subscription
mediator messaging using weak events
IOC/DI support (using Unity)
services: event logger, message box, open save dialog, popup
threading helpers
support for menu items
closeable viewmodels
MVVM code generator
MVVM Light Toolkit
Author: Laurent Bugnion
Silverlight support: yes
Documentation: many articles available on Laurent’s blog + other developers as well
Hosting: personal website
License: use, copy, modify, and/or distribute and keep the copyright!
Features:
MSI installer
VS project and item template
VS code snippets
Messenger system for inter-viewmodel communication
MVVM Helpers
Author: Mark Smith
Silverlight support: no
Documentation: some articles on Mark’s blog
Hosting: personal website
License: not defined
Features:
attached behaviors
viewmodel creation using markup extension
attributes based validation
IOC/DI using ServiceProvider approach
closeable viewmodel
wait cursor (using new WaitCursor() { // your code here })
MVVM Foundation
Author: Josh Smith
Silverlight support: no
Documentation: articles about the Messenger implementation on Josh or Marlon Grech’s blog
Hosting: CodePlex
License: MS-PL
Features:
Messenger system for inter-viewmodel communication
PropertyChanged event monitor
Caliburn
Author: Rob Eisenberg
Silverlight support: yes
Documentation: complete online documentation available
Hosting: CodePlex https://www.codeplex.com/caliburn
License: Blue Spire Consulting license (use, copy, modify, and/or distribute and keep the copyright!)
Features:
commands are built on top of Actions and thus share many of the same features, including multiple input parameters, filters and automatic asynchronous execution
presenters that handles UI lifecycle issue such as handling activation, deactivation and shutdown semantics for various UI components
Caliburn applications are fully testable
various utilities such as a background task manager
Onyx
Author: William e Kempf
Silverlight support: dd
Documentation: basic introduction available on CodePlex
Hosting: CodePlex
License: not specified
Features:
ServiceLocator pattern
ViewModel creation using a custom markup extension
UI related services such as IDisplayMessage
Calcium
Author: Daniel Vaughan
Silverlight support: dd
Documentation: 2 very detailed articles on CodeProject (part1 and part2 )
Hosting: CodePlex
License: use, copy, modify, and/or distribute and keep the copyright!
Features:
Module Manager for enabling or disabling of modules at runtime
messaging services for interacting with the user from the client or server using the same API
Command Service to associate WPF ICommands with content interfaces that only become active when an active view or viewmodel implements the interface
Region Adapters for ToolBars and Menus
Client-server logging ready to work out-of-the-box
Includes modules, such as a Web Browser, Text Editor, Output Window, and many more
Tabbed interface with dirty file indication (reusable across modules)
nRoute
Author: Rishi
Silverlight support: yes
Documentation: many articles available on author’s blog (see CodePlex project home page for the links)
Hosting: CodePlex
License: MS-PL
Features:
support Blend3 behaviors and triggers models
resource locator framework
view services: OpenFileDialog, ShowMessage…
uses attributes to map View and ViewModel together
Nito MVVM
Author: Shammah
Silverlight support: no
Documentation: no
Hosting: CodePlex
License: not specified
Features:
various MVVM friendly implementations of the ICommand interface
Ocean
Author: Karl Shifflet
Silverlight support: no
Documentation: articles available on Karl’s blog
Hosting: personal website
License: not specified
Features:
written in VB.Net
attribute based validation
viewmodel base classes: relaycommand, closeableviewmodel…
SQL server data access layer
Basic MVVM framework
Author: Lester Lobo
Silverlight support: no
Documentation: sample application available with the library
Hosting: CodePlex
License: MS-PL
Features:
delegating Commands\Keybinding
messaging between VM’s
handling events as commands with attached behaviors
handling dialogs (and more) as services
VS code snippets
GoodLight
Author: Peter O’Hanlon
Silverlight support: yes
Documentation: sample application available with the library
Hosting: CodePlex
License: MS-PL
Features:
“workspace” management (set of document that can be closed)
skin support
messaging between VM’s