我正在使用rg.plugins.popup
我有一个例程,检查是否存在冲突,以及是否询问用户他们希望如何进行。该例程是bool
方法,在另一次按钮按下开始时调用。
如果没有冲突,轻松的一天,则不需要弹出窗口。
我本打算使用MessingingCenter
返回用户的输入,但是我不确定如何使调用方法等待响应。
我进行了足够的搜索,以了解阻止UI线程是一个坏主意。
ViewModel
{
...
private void ExecuteFooCommand()
{
if (widget.CheckForConclicts)
{
//do stuff
} else
{
//do different stuff
}
\\do stuff that is dependent on those results
}
...
}
public class Widget
{
...
public bool CheckForConflicts()
{
if (conflicts)
{
Messenging.Center.Subscribe<MessagePopup>(this, "DialogResult", (args) =>
{
// I'd like to return args.result
}
}
MessagePopup.ShowMessageBox("Alert", msg, true);
return false;
}
...
}