devexpress-winforms-mvvm
Installation
SKILL.md
DevExpress WinForms MVVM Framework
The DevExpress MVVM Framework lets you apply the Model-View-ViewModel pattern to WinForms applications. The MVVMContext component bridges a Form (View) and a ViewModel class: it manages the ViewModel lifecycle, resolves services, exposes a Fluent API for property binding and command binding, and hosts behaviors.
The framework supports four ViewModel authoring styles. Prefer the compile-time approach (DevExpress Code Generator or CommunityToolkit.Mvvm) for new projects — it catches binding errors at compile time and produces clean, debuggable code. Use runtime POCO for existing MVVMContext-centric projects, and ViewModelBase only when class hierarchy constraints prevent using POCO.
When to Use This Skill
- Set up the
MVVMContextcomponent in a WinForms form. - Choose a ViewModel type and write properties with
INotifyPropertyChangedsupport. - Declare synchronous (
DelegateCommand) or asynchronous (AsyncCommand) commands with CanExecute. - Bind editor properties and command buttons via the Fluent API (
SetBinding,BindCommand). - Register and call built-in DevExpress services (
IMessageBoxService,IDialogService,INavigationService, etc.) without referencing UI from the ViewModel. - Write custom services that implement an interface and are injected via
RegisterService. - Attach behaviors to controls (
ConfirmationBehavior,EventToCommandBehavior, key shortcuts, customEventTriggerBase). - Communicate between ViewModels using the
Messenger, parent-child relationships,IDialogService,ISupportParameter, orNavigationService.