0

WP アプリで yes/no ダイアログでユーザーにプロンプ​​トを表示しようとしています。問題は、私が既に 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.Guide.BeginShowMessageBox次にEndShowMessageBox、Microsoft.Xna.Framework.GamerServices.dll アセンブリのメソッドを使用します。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 に答える