J'ai une application WPF qui appelle MessageBox.Show() chemin du retour dans le ViewModel (pour vérifier si l'utilisateur veut vraiment supprimer). Cela fonctionne, mais va à l'encontre de MVVM depuis le ViewModel ne devrait pas explicitement de déterminer ce qui se passe sur l'Affichage.
Alors maintenant, je pense à comment puis-je mieux de mettre en œuvre la MessageBox.Show() fonctionnalité dans mon application MVVM, options:
Je pourrais avoir un message avec le texte "Êtes-vous sûr que...?" avec deux boutons Oui et Non, le tout dans une Bordure dans mon XAML, et de créer un déclencheur sur le modèle de sorte qu'il est effondrée/visible basé sur un ViewModelProperty appelé AreYourSureDialogueBoxIsVisible, et puis quand j'ai besoin de cette boîte de dialogue affecter AreYourSureDialogueBoxIsVisible à "true", et également de gérer les deux boutons via DelegateCommand de retour dans mon ViewModel.
Je pourrais aussi en quelque sorte essayer de gérer cela avec des déclencheurs dans le code XAML de sorte que le bouton Supprimer en fait tout à fait de certains élément de Frontière apparaît avec le message et les boutons, et le bouton Oui ne le fait la suppression.
Les deux solutions semblent être trop complexe pour un couple de lignes de code avec MessageBox.Show().
De quelles façons avez-vous mis en œuvre avec succès des Boîtes de Dialogue dans vos applications MVVM?