Un esempio è il passaggio della vista principale in base all'elemento selezionato in un menu hamburger . Inoltre a volte è solo una piccola parte della GUI che cambia in base allo stato dell'applicazione o in base all'interazione dell'utente con altre parti della GUI.
Nei giorni WebForms, abbiamo utilizzato per creare un controllo struttura a schede e nascondere le barre dei pulsanti di tabulazione e modificare la pagina di tabulazione corrente a livello di codice. Oppure impila le viste l'una sopra l'altra nella progettazione e in fase di esecuzione nascondi tutte tranne una.
In WPF e MVVM ho visto persone creare DataTemplate
per ogni vista, collegarle a un modello di vista e passare cambiando l'oggetto associato in un tipo di vista diverso e quindi la vista cambia.
Posso capire perché è una buona idea per le visualizzazioni del menu degli hamburger, ma per alcuni altri casi, non esiste necessariamente un modello di visualizzazione per ciascuna vista. In tal caso, mi piacerebbe evitare di dover creare modelli di visualizzazione fittizi per ogni vista solo per poter passare da una posizione all'altra piuttosto che avere realmente diversi tipi di dati che ho bisogno di associare a ciascuna vista.
Ho ragione di essere preoccupato per questi dettagli di progettazione?
Qualcuno ha avuto la stessa situazione? In che modo hai ottenuto l'effetto di cambio di visualizzazione?
In generale, supponendo che non ci sia un diverso tipo di dati collegati a ciascuna delle viste da passare, è una pratica corretta creare modelli di visualizzazione solo per qualcosa che è puramente GUI? In altre parole, i modelli di vista sono più accoppiati ai dati e che tipo di dati sono disponibili o alla GUI e ai tipi di visualizzazione che dobbiamo coprire? E dovremmo scrivere il codice per modificare le viste su determinati trigger nel codice dietro nel caso in cui concordiamo che si tratta di una pura GUI e che i modelli di vista non devono essere coinvolti?