Nella mia applicazione WPF, voglio creare una nuova vista. Dove dovrei farlo - in ViewModel o Modello ?
L'applicazione è uno (molto semplice per ora) strumento simile a una finestra con un singolo pulsante "invia". Nel caso in cui una delle caselle di controllo sia selezionata, dovrebbe apparire una nuova finestra utilizzando lo stesso ViewModel per chiedere all'utente ulteriori dettagli. Ai fini di questa domanda, consideriamo solo l'approccio alla nuova finestra senza considerare altri approcci come il pannello mostrato / nascosto.
Idealmente, in View non dovrebbe esserci alcun codice. Inoltre, poiché View non ha alcuna logica in essa, la VM dovrebbe inizialmente verificare se è necessaria la creazione di una nuova vista e, quando lo è, rimandare questa responsabilità alla vista, portando a code bloat.
D'altro canto, la creazione di una nuova vista in ViewModel viola il principio che ViewModel non dovrebbe sapere nulla su View.
Quindi è meglio creare nuove viste in View o ViewModel?