我正在开发一个使用MVVMLightToolkit作为第三方帮助的WPF MVVM应用程序。我的场景如下:
我有一个主窗口,当关闭主窗口时,我必须显示一个新的对话框窗口(保存更改对话框窗口),以确认用户是否需要将他在应用程序中所做的更改保存到状态文件中或者不保存。我该如何在MVVM中处理这种情况?通常,为了显示一个新窗口,我使用MVVMLight Messenger类。在这种情况下,我从Main Window代码后台打开Save Changes Dialog窗口。我需要根据Save Changes Dialog Window中选择的用户选项(SAVE、SAVE/EXIT、CANCEL)回调Main View Model,并根据此来检查是否需要关闭主窗口。最佳的MVVM方法是什么?
我有一个主窗口,当关闭主窗口时,我必须显示一个新的对话框窗口(保存更改对话框窗口),以确认用户是否需要将他在应用程序中所做的更改保存到状态文件中或者不保存。我该如何在MVVM中处理这种情况?通常,为了显示一个新窗口,我使用MVVMLight Messenger类。在这种情况下,我从Main Window代码后台打开Save Changes Dialog窗口。我需要根据Save Changes Dialog Window中选择的用户选项(SAVE、SAVE/EXIT、CANCEL)回调Main View Model,并根据此来检查是否需要关闭主窗口。最佳的MVVM方法是什么?
SaveDialogResults.Cancel
更改为 true、false 或 null,任何你想要的都可以^^ - Florian GlMessenger.Send<bool?, ViewModel>(SaveDialog.ShowDialog());
,然后通过Messenger.Register<bool?>(this, delegate(bool? result) { });
进行注册。 - Florian Gl