待機画面をシミュレートするために、テキストブロックとプログレスバーの2つの要素のみを含む単純なChildWindowがあります。そのChildWindowは、非同期WCFメソッドを呼び出す前に開始され、コールバックで閉じられます。
問題は、ChildWindowが2回目に閉じられたときに、サーフェス全体が無効のままになることです。私は似たような状況を探しました。あるブログ投稿では、Closeメソッドが2回呼び出されると説明されていましたが、私の場合はそうではありません。
次にいくつかのサンプルコードを示します(svcはWCFサービスです)。
// global private class variable
private WaitingScreen wait = new WaitingScreen();
public void DoSomething()
{
svc.SaveCompleted += (s, arg) =>
{
wait.Close();
};
wait.Show();
svc.SaveAsync();
}
どんなポインタでもありがたいです、私はここで基本的な何かが欠けていると思います。