Получить пользовательский ввод из всплывающего окна - PullRequest
0 голосов
/ 04 февраля 2019

Я использую rg.plugins.popup

У меня есть процедура, которая проверяет, есть ли конфликт, и спрашивает ли пользователя, как он хотел бы продолжить,Процедура - это метод bool, который вызывается в начале нажатия другой кнопки.

Если нет конфликта, простой день, всплывающее окно не требуется.

Я собирался использовать MessingingCenter для возврата ввода пользователя, но я не уверен, как сделать вызовметод ожидания ответа.

Я искал достаточно, чтобы понять, что блокировка потока пользовательского интерфейса - плохая идея.

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;
 }
 ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...