Dreamine.Wpf Ver.1.0.0
Loading...
Searching...
No Matches
Dreamine.MVVM.Wpf

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);
DreamineAppBuilder.Initialize(Assembly.GetExecutingAssembly());
}
}
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
Dreamine.MVVM.ViewModels
- ViewModel layer
Dreamine.MVVM.Locators
- 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