0

我试图在我的 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线程的情况下等待结果?

4

2 回答 2

1

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

于 2013-08-10T23:13:16.890 回答
0

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

检查以下链接中的 Async/Await 编程概念。

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

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

谢谢,卡马尔。

于 2013-08-10T16:47:03.573 回答