La finestra secondaria dovrebbe avere il proprio contesto dati (Modello di vista) o utilizzare il contesto dati del genitore? Più in generale, ogni View dovrebbe avere il proprio View-Model? Ci sono delle regole per guidare questa decisione? Cosa succede se i vari View-Models accederanno allo stesso modello?
Non sono stato in grado di trovare una guida coerente sulla mia domanda. La definizione MS di MVVM sembra essere silenziosa sulle finestre figlio.
Per un esempio, ho creato una vista di notifica dei messaggi di avviso. Non aveva davvero bisogno di un contesto dati da quando è stato passato il messaggio da mostrare. Ma se avessi bisogno di un po 'di fantasia, avrei toccato il contesto dei dati del genitore.
Ho eseguito un altro scenario che richiede una finestra secondaria ed è più complicato della finestra di notifica. Il modello di visualizzazione del genitore si sta già ingigantendo, quindi avevo programmato di generare una VM dedicata per la finestra secondaria. Ma non riesco a trovare alcuna indicazione se questa sia una buona idea o quali potrebbero essere le possibili conseguenze.
FWIW, mi capita di lavorare in Silverlight, ma non so che questa domanda è strettamente un problema di Silverlight.