2011-03-13 6 views
0

私のWP7開発中に共通のパターンが見つかりました。SilverlightはOnShowイベントに相当し、2段階のページ表示が可能です。

何かが表示に時間がかかり、ディスプレイを2つの部分に分割したい - 最初の表示でLoadingメッセージを表示し、進行状況バーを表示してからデータをロードできるセカンダリディスプレイを開始できます。

私はこれをカスタムコントロールで実行しようとしていますが、ユーザーコントロールやページにも同様に適用できます。

私はこれを行う方法が見つかりません。 WinFormの頃には、フォームが表示される前に呼び出すことのできるイベントと、その後のイベントがありました。私は似たようなものを探していると思う。

ローディングメッセージでスタックパネルを最初に表示できるかどうかを確認しようとしました。

アイデア?

私はCaliburn Micro BTWを使用しています。

答えて

2

あなたはロードメッセージを表示するページのLoadedイベントやOnNavigatedToオーバーライドを使用することができ、その後、あなたはUIスレッドが応答残るようにバックグラウンドスレッドであなたの長時間実行プロセスを実行するためにBackgroundWorker classを使用することができ、その後でRunWorkerCompletedEventハンドラのハンドラがUIスレッドにマーシャリングされていれば、読み込みメッセージを非表示にして2段階目の表示を行うことができます。

+0

ありがとうDerek。私は実際には、バックグラウンドワーカーとの作業を行うことができませんでした。ユーザーコントロールを作成していて、ワーカースレッドからこれを試してみると例外が発生しますが、これはUIスレッドがロードメッセージを表示します。 –

関連する問題