Traditional and Extended MVVM API
Traditional API: All data-aware controls provide properties helping you bind them to item sources on ViewModels, specify the selected item and data templates. The ICollectionView interface is supported by all list-bound controls (Data Grid, Tree List, Navigation Bar, etc.)
Extended API: The DevExpress WPF controls provide additional properties to populate other collections in the MVVM-style. For instance, you can populate a column and summary collections in the Data Grid, a bar collection for the Bar Manager, an item collection in the Layout Control, etc.
MVVM Library
The WPF Subscription offers you a dedicated library to create complete MVVM applications. The major benefits of the DevExpress MVVM library are the independent parts, can be used separately or with other third-party MVVM libraries.
-
With POCO (Plain Old CLR Objects), get clear ViewModel code without unnecessary duplications. The POCO mechanism automatically generates bindable properties, commands, asynchronous commands, wrapper code for services, and much more.
- EventToCommand includes converting event arguments, calling bound commands via Dispatcher, and processing attached events.
-
Advanced control of View from View Model with a set of predefined Services or custom Service.
- Messenger takes the difficulty out of building loosely coupled app architectures.
-
Create missing functionality of any visual component and use it wherever it is needed with Behaviors.
-
Enjoy a wide selection of value converters implementing most conversion scenarios you are ever likely to face.
Scaffolding Wizards
Allows you to create MVVM based applications with ease. All wizards are available from the DevExpress Template Gallery. DevExpress Scaffolding Wizards create all three layers for your MVVM application from an Entity Framework model or WCF Data Service reference, which you can extend and change.
Watch the video and see the Scaffolding Overview.
Design-Time Extensions
Smart Tags for DevExpress WPF controls: Allow you to set and bind common settings including MVVM-aware properties (ItemsSource, SelectedItem, Command, CommandParameter, etc.) at design time. They also help you modify the layout of controls (for instance, add a column to the Grid Control and BarItem to the RibbonControl). Properties can be bound to ViewModels via a dedicated Binding editor.

Smart Tags for standard WPF controls: Allow you to set/bind commonly used properties via a special Binding dialog (for instance, set a Window's DataContext to a ViewModel, or bind a control's property to an object in a ViewModel).