我正在开发一个 WPF 桌面应用程序,它具有屏幕锁定功能,可在应用程序处于非活动状态一段时间后显示登录对话框。一切都很好,直到用户离开计算机并且在应用程序中打开了模式对话框(登录对话框除外)。
场景快速总结:
- 用户删除应用程序中的某些内容。
- 删除确认(模式)对话框打开,带有“删除”和“取消”选项。
- 用户走开一会儿,同时模式对话框启动。
- 一段时间后,确认对话框将被隐藏并打开登录对话框。
这是一些代码
var deleteConfirmationDialog = new deleteConfirmationDialog(deleteConfirmationViewModel);
var dialogResult = deleteConfirmationDialog.ShowDialog();
if (dialogResult ?? false) { //Delete item }
问题是当 deleteConfirmationDialog 被隐藏并打开登录(模式)对话框时,deleteConfirmationDialog 中的 dialogResult 将返回 dialogresult == false。
抛开技术实现和理念不谈,为什么 ShowDialog() 会返回 DialogResult == false,即使我没有关闭该对话框?是否可以防止 deleteConfirmationDialog 返回 False?
非常感谢您!如果其中任何部分没有意义,请告诉我。