Ho un'applicazione WPF che richiama nuovamente MessageBox.Show() nel ViewModel (per verificare se l'utente desidera davvero eliminare). Funziona in realtà, ma va contro la grana di MVVM poiché ViewModel non dovrebbe determinare in modo esplicito cosa succede sulla Vista.Come hai implementato con successo la funzionalità MessageBox.Show() in MVVM?
Così ora sto pensando come posso meglio implementare la funzionalità MessageBox.Show() nella mia applicazione MVVM, opzioni:
potevo avere un messaggio con il testo "Sei sicuro. ..?" insieme a due pulsanti Sì e No tutto in un bordo nel mio XAML e creare un trigger sul modello in modo che sia collassato/visibile in base a un ViewModelProperty denominato AreYourSureDialogueBoxIsVisible, e quindi quando ho bisogno di questa finestra di dialogo, assegnare AreYourSureDialogueBoxIsVisible a "true", e anche gestire i due pulsanti tramite DelegateCommand indietro nel mio ViewModel.
In qualche modo potrei anche provare a gestirlo con i trigger in XAML in modo che il pulsante Elimina faccia effettivamente apparire un elemento Border con il messaggio e i pulsanti al suo interno, e il pulsante Sì ha effettivamente eliminato.
Entrambe le soluzioni sembrano essere troppo complesso per quello che era un paio di righe di codice con MessageBox.Show().
In che modo hai implementato con successo le finestre di dialogo nelle tue applicazioni MVVM?
domanda simile: http://stackoverflow.com/questions/315180/model-view-presenter-and-modal-dialog-boxes-how-to –