devexpress-wpf-mvvm

Generate DevExpress MVVM view models with source generators and UI service integration.

39|7|Updated Jun 2, 2026
One-click install
npx skills add https://github.com/DevExpress/agent-skills --skill devexpress-wpf-mvvm
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: devexpress-wpf-mvvm
Source: https://github.com/DevExpress/agent-skills/tree/main/plugins/dx-wpf/skills/devexpress-wpf-mvvm
Command: npx skills add https://github.com/DevExpress/agent-skills --skill devexpress-wpf-mvvm

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill solves the challenge of building maintainable, testable WPF applications using the DevExpress MVVM Framework, eliminating repetitive boilerplate code, reducing code-behind dependencies, and ensuring correct usage of DevExpress WPF APIs and patterns to avoid hallucinations and reliance on third-party libraries.

Core Features & Use Cases

  • Multiple View-Model Strategies: Choose between compile-time source generation (recommended for new projects), runtime POCO, ViewModelBase, and BindableBase to fit existing project requirements or language constraints (including VB.NET support).
  • UI Service Integration: Call 25+ predefined DevExpress services (message boxes, dialogs, file pickers, navigation) directly from view models without referencing view-level code, keeping logic testable and decoupled.
  • Code-Behind Replacement: Use built-in behaviors like EventToCommand and KeyToCommand to route UI events and keyboard shortcuts to view-model commands, eliminating code-behind entirely.
  • Decoupled View-Model Communication: Pass data between master and detail view models, access parent view services from child view models, and broadcast notifications across loosely coupled view models using the built-in Messenger.
  • Use Case: For a WPF master-detail inventory app, use this Skill to implement compile-time generated view models, wire a double-click event on a grid to an edit command, pass the selected inventory item to a detail view model, and show a confirmation dialog before deletion—all without writing code-behind.

Quick Start

Use this skill to create a new WPF project with a compile-time generated MainViewModel that has a Login command bound to a TextBox and Button, and shows a confirmation dialog via the DevExpress MessageBoxService when the command executes, following all framework best practices.

Frequently Asked Questions about devexpress-wpf-mvvm

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I eliminate boilerplate code when building WPF apps with the DevExpress MVVM Framework?

To eliminate boilerplate code in DevExpress MVVM WPF apps, use compile-time source generators for view-model generation. This approach automatically wires commands and properties, reducing code-behind dependencies and ensuring maintainable, testable application architecture.

Can I call UI dialogs directly from my WPF view model without writing code-behind?

Yes, you can invoke UI dialogs directly from view models using the 25+ predefined DevExpress services. This includes message boxes, file pickers, and navigation services, keeping view logic decoupled and fully testable without referencing view-level code.

How do I bind a WPF UI event like double-click to a command in my view model?

You bind WPF UI events to view-model commands using the DevExpress EventToCommand behavior. This built-in behavior routes UI events directly to commands, eliminating the need for event handlers in code-behind and maintaining clean separation of concerns.

What is the best way to pass data between master and detail view models in WPF?

The best way to pass data between master and detail view models is using the DevExpress MVVM Framework's built-in Messenger. It broadcasts notifications across loosely coupled view models, enabling seamless data passing without requiring direct references.

Does the DevExpress MVVM Framework support older .NET Framework projects?

Yes, DevExpress MVVM supports .NET Framework 4.6.2+ and .NET 6+ Windows-targeting projects. It offers multiple view-model strategies including runtime POCO, ViewModelBase, and BindableBase to fit existing project requirements and language constraints like VB.NET.

Why should I use compile-time source generation instead of runtime POCO for WPF view models?

Compile-time source generation is recommended for new WPF projects because it provides view-model generation at build time, improving performance and catching errors early. Runtime POCO and ViewModelBase remain available for existing projects or specific language constraints.