Introduction
Dreamine.MVVM.Wpf is the WPF-specific bootstrap and runtime integration layer for the Dreamine MVVM framework.
This package contains the WPF-only startup and runtime wiring logic used by Dreamine MVVM applications. Its purpose is to keep WPF-dependent responsibilities isolated from platform-neutral libraries.
Overview
Dreamine.MVVM.Wpf is responsible for:
- View ↔ ViewModel registration
- automatic dependency registration through DMContainer
- automatic DataContext attachment when a View is loaded
- isolating WPF runtime concerns from platform-neutral modules
Why This Package Exists
Dreamine.MVVM.Core should remain as platform-neutral as possible.
WPF-specific responsibilities such as FrameworkElement.Loaded, EventManager, and runtime View binding should not live in the core package.
This package isolates those concerns into a dedicated WPF layer.
Main Components
- WPF application bootstrap support
- runtime View ↔ ViewModel wiring
- automatic DataContext attachment
- Dreamine runtime initialization for WPF applications
Key Features
- WPF Bootstrap Layer: Initializes Dreamine MVVM runtime for WPF applications
- Automatic View Registration: Registers View ↔ ViewModel mappings during startup
- Container Integration: Connects runtime registration flow with DMContainer
- Automatic DataContext Wiring: Assigns DataContext when required at View load time
- Platform Isolation: Keeps WPF-only runtime concerns out of platform-neutral modules
Main Type
DreamineAppBuilder is the primary entry point of this package.
It performs the following steps:
- registers View ↔ ViewModel mappings
- auto-registers types into DMContainer
- hooks the WPF Loaded event to assign DataContext automatically when needed
Usage Example
Call DreamineAppBuilder.Initialize(...) once during application startup.
using System.Reflection;
using System.Windows;
namespace SampleApp;
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
}
}
Dreamine 앱 구동을 위한 초기화 도우미입니다.
static void Initialize(Assembly rootAssembly)
Dreamine MVVM WPF 런타임을 초기화합니다. View-ViewModel 자동 매핑, DI 자동 등록, Loaded 시점의 ViewModel 자동 주입을 구성합니다.
Design Goals
Dreamine.MVVM.Wpf is designed around the following principles:
- WPF-specific responsibilities must remain isolated
- platform-neutral modules should not depend on WPF runtime APIs
- startup and runtime wiring should remain explicit
- View ↔ ViewModel integration should be automatic but predictable
- application bootstrap should stay simple for consumers
Architecture Role
Recommended responsibility boundaries:
- container
- command infrastructure
- platform-neutral MVVM runtime support
- ViewModel layer
- ViewModel resolution and mapping logic
- WPF startup / bootstrap / runtime integration
Related Modules
Dreamine.MVVM.Wpf is typically used together with:
- Dreamine.MVVM.Core
- Dreamine.MVVM.ViewModels
- Dreamine.MVVM.Locators
- Dreamine.MVVM.Interfaces
Target Framework
- Target Framework: net8.0-windows
- WPF enabled
Version History
| Date | Version | Author | Description |
| 2026-03-15 | 1.0.0 | Jang Minsu | Initial commit for Dreamine.MVVM.Wpf |
| 2026-03-15 | 1.0.0 | Jang Minsu | Added bootstrap foundation and DreamineAppBuilder for WPF runtime initialization |
| 2026-03-15 | 1.0.0 | Jang Minsu | Refactored bootstrap structure toward Dreamine-style WPF runtime integration |
License
MIT License
Contact
Organization: Dreamine