从Windows Phone应用程序中的UI线程打开“是/否通知框”

本文关键字:通知 应用程序 Phone Windows 线程 UI | 更新日期: 2023-09-27 18:27:04

我正试图在我的WP应用程序中用"是/否"对话框提示用户。问题是我已经在UI线程中了,所以要么我在继续之前无法获得结果,要么我正在运行一个无限循环(因为当我阻塞UI线程时,框无法打开)。

bool result = false;
bool done = false;
NotificationTool.Show(title, text,
  new NotificationAction("Yes", () => { result = true; done = true; }),
  new NotificationAction("No", () => { result = false; done = true; }));
while (!done)
{
    Thread.Sleep(1);
}
return result;

有没有一种方法可以在不"阻塞"UI线程的情况下等待结果?

从Windows Phone应用程序中的UI线程打开“是/否通知框”

使用Microsoft.Xna.Framework.GamerServices.dll程序集中的Microsoft.Xna.Framework.GamerServices.Guide.BeginShowMessageBoxEndShowMessageBox方法。API允许您显示带有1或2个任意标记按钮的消息框。

您可以在Windows Phone中使用异步/等待编程概念来实现这一点。这允许您在对话框收到用户的响应时调用UI线程。

检查下面链接中的异步/等待编程概念。

http://developer.nokia.com/Community/Wiki/Asynchronous_Programming_For_Windows_Phone_8

如果我的帖子能帮助你解决问题,请标记为答案。

谢谢,Kamal。