Desktop .NET con WPF e MVVM quando l'interfaccia deve supportare il lavoro vero

Qui trovi WPF, XAML e MVVM spiegati per progettare applicazioni desktop .NET che aiutano gli utenti a lavorare meglio e aiutano il team a cambiare il prodotto senza rompere tutto.

Analisi, casi e articoli su WPF, XAML, binding e MVVM

13 articoli trovati

Quando WPF resta la scelta giusta

WPF resta la scelta giusta quando servono applicazioni desktop ricche, interattive e integrate nei processi aziendali. In questi scenari la qualita dell'interfaccia, la separazione tra UI e logica e la manutenibilita del codice hanno un impatto diretto sul lavoro quotidiano di chi usa il software.

Tecnologie collegate allo sviluppo desktop

C#

linguaggio principale per logica, ViewModel e binding in WPF

.NET

runtime su cui gira WPF nelle versioni moderne

Domande frequenti

Si, in contesti enterprise con applicazioni Windows legacy e nuovi progetti desktop interni. WPF e la scelta standard per applicazioni LOB (Line of Business) su Windows quando l'interfaccia e ricca, i requisiti di performance sono elevati e la distribuzione e controllata. Non e la scelta giusta per applicazioni consumer multi-piattaforma, dove .NET MAUI o Blazor sono piu adatti.

MVVM, Model-View-ViewModel, separa la logica UI (ViewModel) dalla rappresentazione visuale (View) tramite data binding. In WPF e fondamentale perche rende il codice testabile (il ViewModel non dipende dalla View), permette il lavoro parallelo tra designer e sviluppatori, e riduce il codice nel code-behind. INotifyPropertyChanged e ICommand sono i mattoni base dell'implementazione.

WPF e un framework Windows-only con un modello di programmazione maturo, stabile e ben documentato. .NET MAUI e cross-platform (iOS, Android, Windows, macOS) ma con maggiore complessita di configurazione e meno maturita ecosistemica. Per applicazioni enterprise Windows esistenti o nuove, WPF resta la scelta piu solida. MAUI e preferibile quando il target include mobile.

In WPF moderno si usa Microsoft.Extensions.DependencyInjection, lo stesso container di ASP.NET Core. Si registrano i servizi nel contenitore all'avvio dell'applicazione e si iniettano nel costruttore dei ViewModel tramite un host generico (IHost). Questo approccio rende il codice WPF coerente con il resto dell'ecosistema .NET e facilita la condivisione di codice con altri layer.