WinForms MVVM Pattern Guide
MVVM (Model-View-ViewModel) pattern in WinForms (.NET 8+) enables separation of business logic from UI, creating applications that are testable, maintainable, and portable across UI frameworks.
When to Use This Skill
Use this skill when:
- Working with DataBinding in WinForms .NET 8+
- Implementing MVVM pattern in WinForms in .NET 8+ applications
- Creating ViewModels with MVVM Community Toolkit
- Setting up Command binding for buttons and menus (.NET 8+,
CommandProperty) - Using DataContext property for hierarchical binding (.NET 8+)
- Migrating from traditional event-handler architecture to MVVM
- Writing unit tests for business logic
- Sharing ViewModels between WinForms and WPF/MAUI/Avalonia
- Implementing
ICommandwithRelayCommandon ViewModel side - Working around
ObservableCollectionin WinForms contexts - Setting up dependency injection with ViewModels
- Creating .datasource files for ViewModel Designer support
- Troubleshooting ViewModel code generation issues
Related Skills
- WinForms Development
- WinForms Data Binding
- WinForms Designer Code
- WinForms Async APIs
- WinForms High-DPI Fluent Layout
Detailed Guidance
Read Detailed guide for comprehensive patterns, examples, and troubleshooting.
Workflow
- Confirm the scenario matches the triggers in this skill.
- Apply the baseline pattern from this file.
- Read Detailed guide for advanced or edge-case handling.
- Validate changes with an actual build and runtime check.