Skip to content

KhalBurgo/StarterKit_WPF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 StarterKit – WPF MVVM Template

C# .NET WPF MVVM SQLite Platform License


StarterKit è un template WPF moderno basato su MVVM, pensato per essere una base solida, pulita e riutilizzabile per applicazioni desktop professionali in .NET.

Non è un semplice esempio didattico: è uno starter template pronto per progetti reali.


✨ Caratteristiche principali

  • Architettura MVVM pulita
  • 🧭 Navigazione centralizzata con history e comando Back
  • 🎨 Tema Light / Dark persistente
  • 🧩 Dependency Injection (Microsoft.Extensions.DependencyInjection)
  • 🪟 Shell principale (MainWindow) separata dalle View
  • 💾 Database pronto (SQLite)
  • 🧠 Services con interfacce (Navigation, Theme, Database)
  • ⏱️ Footer informativo (data/ora + stato DB)
  • 📦 Struttura scalabile e ordinata

🧱 Stack tecnologico

  • C#
  • WPF
  • MVVM
  • Dependency Injection (DI)
  • Navigation Service
  • SQLite

🗂️ Struttura del progetto

StarterKit
│
├── App.xaml
├── App.xaml.cs
│
├── Views
│   ├── MainWindow.xaml   ← Shell
│   ├── HomeView.xaml
│   ├── SettingsView.xaml
│   └── AboutView.xaml
│
├── ViewModels
│   ├── BaseViewModel.cs
│   ├── MainViewModel.cs
│   ├── HomeViewModel.cs
│   ├── SettingsViewModel.cs
│   └── AboutViewModel.cs
│
├── Services
│   ├── INavigationService.cs
│   ├── NavigationService.cs
│   ├── IThemeService.cs
│   ├── ThemeService.cs
│   ├── ThemeManager.cs
│   ├── IDatabaseService.cs
│   └── DatabaseService.cs
│
├── Data
│   ├── AppDbContext.cs
│   ├── DatabaseInitializer.cs
│   └── Entities
│       └── AppSetting.cs
│
├── Commands
│   └── RelayCommand.cs
│
├── Themes
│   ├── Colors.Light.xaml
│   ├── Colors.Dark.xaml
│   └── Styles.xaml

🧭 Navigazione (NavigationService)

La navigazione è:

  • Centralizzata
  • Basata su ViewModel
  • Con History e Back

Funzionalità:

  • Navigate<TViewModel>()
  • GoBack()
  • CanGoBack

Il MainViewModel funge da orchestratore della UI (Shell).


🎨 Temi Light / Dark

  • Toggle centralizzato
  • Persistenza automatica
  • Tema condiviso tra TopBar e Settings
  • Basato su ResourceDictionary separati

💾 Database

  • SQLite pronto all’uso
  • Inizializzazione automatica
  • Stato DB visibile in UI
  • Struttura facilmente estendibile

🧩 Dependency Injection

Il progetto utilizza Microsoft.Extensions.DependencyInjection:

  • Tutti i Services sono registrati
  • ViewModel risolti dal container
  • Codice testabile e manutenibile

🚀 Come usare questo template

  1. Clona il repository
  2. Cambia il nome della soluzione e del namespace
  3. Inizia a sviluppare

👉 Regola d’oro:

Clona → Rinomina → Parti
Nessun copia/incolla selvaggio.


🏷️ Versione

v1.0.0 – Template completo e stabile


📜 Licenza

Libero utilizzo per progetti personali e professionali.
Personalizza, estendi, migliora.


🙌 Note finali

Questo template nasce per:

  • Tool desktop
  • Applicazioni aziendali
  • Prototipi rapidi
  • Progetti scalabili nel tempo

Minimalismo + architettura corretta = velocità di sviluppo.

Buon codice! 💻🔥

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages