Sto lavorando su una grande applicazione MVVM. Sto usando il MVVM light toolkit per questo. L'applicazione è come un browser Web con pulsanti Indietro e Avanti. La vista principale è un controllo utente. Ho posizionato i pulsanti Indietro e Avanti nel controllo utente della vista principale. La vista principale a sua volta ha controlli utente. L'utente controlla i cambiamenti quando si fa clic sui pulsanti Indietro e Avanti. ViewModel principale tiene traccia del controllo utente corrente e carica quello successivo a seconda del clic del pulsante.
Tutti questi controlli utente vengono caricati in base alla selezione (ID) effettuata sul primo passaggio. Diciamo, la vista principale è una schermata di ricerca e selezioniamo un cliente. Le schermate successive sono Indirizzo, Fatturazione, Richieste, ecc. Queste schermate non condividono alcun dato. Ma i dati sono per lo stesso cliente.
Quindi, è una buona pratica, per memorizzare l'ID cliente nella vista principale? Se lo faccio, dovrei avere un evento UserControl_Loaded associato a un comando, in cui richiederei l'indirizzo e le informazioni di fatturazione.
Oppure posso spostare i pulsanti (pulsanti avanti e indietro) per ciascun controllo utente invece della vista principale, passare l'ID cliente con il messaggio che caricherà la vista successiva.
Quale è meglio?