0

私のアプリケーションでは、すべてのページ ナビゲーションでサービス コールを実行し、MessageDialog をユーザーに表示します。

私の問題は、ページナビゲーション「Page1」から「Page2」でサービスコール(待機)を押したときに、サービスコールが完了するまでに一定の時間がかかり、その間にユーザーがタップして「Page1」に戻ったときでした。

その場合、ユーザーは「Page1」を見て、「Page2」でサービス呼び出しが完了するのを待ち、「Page1」にそのサービス応答メッセージを表示します。

ユーザーがそのページから戻ると仮定して、MessageDialogを回避するにはどうすればよいですか。

4

1 に答える 1

0

まず第一に、この種の情報には MessageDialogs を使用しないでください。アプリがバックグラウンドでタスクを実行していること (サービスを呼び出していること) を示すために、ProgressBar またはリングを使用することを検討する必要があります。こうすることで、ユーザーがアプリとのやり取りを中断されることはありませんが、バックグラウンドで何かが行われていることに気付きます。

MVVM パターンを使用している場合、ViewModel または Model クラスは、サービスと通信するという面倒な作業を行う必要があります。アプリで MessageDialogs を表示する必要がある場合は、呼び出しの完了時に UI に MessageDialogs を表示させるイベントをバックエンド クラスに作成することをお勧めします。そうすれば、ページをロードするときにこれらのイベントをサブスクライブし、別の場所に移動するときにサブスクライブを解除できます。このようにして、アプリの Page1 にいるときに Page2 からメッセージが表示されないようにすることができます。

于 2013-10-10T08:14:22.823 に答える