У меня есть приложение WPF , которое вызывает MessageBox.Show() обратно в ViewModel (чтобы проверить, действительно ли пользователь хочет удалить). Это действительно работает, но идет против зерна MVVM, поскольку ViewModel не должен явно определять, что происходит в представлении.
Итак, теперь я думаю, что как лучше всего реализовать функцию MessageBox.Show() в моем приложении MVVM, параметры:
-
У меня могло бы быть сообщение с текстом "Вы уверены...?" наряду с двумя кнопками "Да" и "Нет" на границе в моем XAML и создайте триггер на шаблоне, чтобы он был свернут/виден на основе ViewModelProperty, называемого AreYourSureDialogueBoxIsVisible, а затем, когда мне нужен этот диалог box, присвойте AreYourSureDialogueBoxIsVisible значение "true", а также обработайте две кнопки через DelegateCommand обратно в моей ViewModel.
-
Я мог бы как-то попытаться обработать это с помощью триггеров в XAML, чтобы кнопка Delete фактически просто создавала элемент Border с сообщением и кнопками в нем, а кнопка Yes действительно удаляла.
Оба решения кажутся слишком сложными для того, что раньше было рядом строк кода с MessageBox.Show().
Каким образом вы успешно реализовали диалоговые окна в ваших MVVM-приложениях?