如何等待来自 wpf mvvm 弹出窗口的响应

How to wait for a response from a wpf mvvm popup

我搜索过但找不到这个问题的答案,也许这意味着有更好的方法来完成我正在尝试的事情。

在 WPF 应用程序中,使用 MVVM 设计模式:我创建了一个 UserControl,它是一个框。这个弹出框有两个选项(按钮),"Okay" 和 "Cancel"。这个用户控件有它自己的视图模型来提供它的消息数据。创建和显示这个弹出窗口非常简单。我的麻烦是我想等待 用户选择。类似于 DialogReponse 的东西?理想情况下,我想做这样的事情:

if (MyPopup.Show())
{
    //do something
}
else
{
    //do something else
}

对于我正在尝试做的事情,也许有更好的方法。我不想使用消息框,因为我有自己制作的自定义弹出窗口。但也许 popup 是错误的控件?提前感谢您的帮助。

使用 ShowDialog() 方法。有关详细信息,请阅读 MSDN

如果你想拥有 Window 的功能,为什么不使用一个呢?

new MyCustomDialogWindow().ShowDialog();