是否可以从 MVVM 弹出 DisplayPromptAsync
Is it possible to popup DisplayPromptAsync from MVVM
我一直在为这个问题苦苦思索一分钟,需要寻求帮助...是否可以从 MVVM 弹出 DisplayPromptAsync?我的所有代码都运行良好,但一些“障碍”要求我最终转向 MVVM 来解决;但是我有 2 个实例,我想弹出并提示用户输入,然后我使用提交的值。如果我正确阅读文档 DisplayPromptAsync 只能在页面中使用吗?我当然不想编写单独的页面来提出问题,然后用户对每个问题进行回复。我不能只使用 1 页并询问所有三个,因为用户可能只需要询问 1 个问题。 UI 弹出这个让用户回答并继续完成这一壮举的过程非常简单。
有什么想法吗?
TIA!
瑞克...
只使用对当前页面的引用
App.Current.MainPage.DisplayPromptAsync()
您可以通过多种方式实现这一目标。
第一个是 App.Current.MainPage
弹出警报,正如 Jason 在他的回答中提到的那样:
public class myModel {
public myModel()
{
App.Current.MainPage.DisplayPromptAsync("title", "message");
}
}
另一种方法是,您可以使用 MessagingCenter 通知页面弹出警报。
模型中:
MessagingCenter.Send<MainPage>(this, "showAlertNotify");
在页面中:
public MainPage()
{
InitializeComponent();
MessagingCenter.Subscribe<MainPage>(this, "showAlertNotify", (sender) =>
{
// Do something whenever the "showAlertNotify" message is received
this.DisplayPromptAsync("title", "message");
});
}
您还可以阅读通过使用界面执行操作。
我一直在为这个问题苦苦思索一分钟,需要寻求帮助...是否可以从 MVVM 弹出 DisplayPromptAsync?我的所有代码都运行良好,但一些“障碍”要求我最终转向 MVVM 来解决;但是我有 2 个实例,我想弹出并提示用户输入,然后我使用提交的值。如果我正确阅读文档 DisplayPromptAsync 只能在页面中使用吗?我当然不想编写单独的页面来提出问题,然后用户对每个问题进行回复。我不能只使用 1 页并询问所有三个,因为用户可能只需要询问 1 个问题。 UI 弹出这个让用户回答并继续完成这一壮举的过程非常简单。
有什么想法吗?
TIA! 瑞克...
只使用对当前页面的引用
App.Current.MainPage.DisplayPromptAsync()
您可以通过多种方式实现这一目标。
第一个是 App.Current.MainPage
弹出警报,正如 Jason 在他的回答中提到的那样:
public class myModel {
public myModel()
{
App.Current.MainPage.DisplayPromptAsync("title", "message");
}
}
另一种方法是,您可以使用 MessagingCenter 通知页面弹出警报。
模型中:
MessagingCenter.Send<MainPage>(this, "showAlertNotify");
在页面中:
public MainPage()
{
InitializeComponent();
MessagingCenter.Subscribe<MainPage>(this, "showAlertNotify", (sender) =>
{
// Do something whenever the "showAlertNotify" message is received
this.DisplayPromptAsync("title", "message");
});
}
您还可以阅读