从弹出窗口获取用户输入

时间:2019-02-04 19:02:11

标签: c# mvvm xamarin.forms

我正在使用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;
 }
 ...
}

0 个答案:

没有答案